Documentation menu

Binding charts to real data

KPI scorecard, bar chart, line chart, and pie chart — and only those four — can pull their numbers from a connected data source or a past campaign's own response results, instead of the rows you type by hand in the Inspector. Every other chart in the family (scatter, histogram, heatmap, funnel, waterfall, gauge, radar, treemap, sankey) is authored-rows only today; see Analytics & chart blocks for those.

Each of the four bindable types has a Bind to data section in the Inspector with a Data source dropdown offering three modes:

Authored rows

The default, and the only mode every chart type supports. Type your categories and values directly into the block's rows — nothing to connect, works the moment you add the block.

A data source binding

Picks up rows from a collection-role project binding — the exact same binding a repeat block draws from, not a separate mechanism. If you haven't connected one yet, add it from the studio's Data panel first (see Data sources & merge tags); the chart's binding dropdown only lists bindings that already exist on the project.

Once you pick a binding, the fields shown depend on the chart type:

  • KPI scorecard — a single Value field plus an aggregate (Sum, Average, Count, or Latest row): every bound row collapses into the one headline number.
  • Bar chart / line chart — a Group by field (each distinct value becomes a category down the axis) plus up to 3 series fields, each with its own aggregate — the same up-to-3-series shape as authoring rows by hand.
  • Pie chart — a Group by field (each distinct value becomes a slice) plus one Value field and aggregate.

Switching a chart between "authored rows" and "a data source binding" doesn't erase whichever one you're not currently using — the rows you typed stay put if you switch back.

An optional filter narrows which rows the chart aggregates, built with the same condition-group editor used elsewhere in the studio. Filter values can reference recipient merge tags ({{email}}, {{plan}}, …), so — because the whole email re-renders per recipient at send time — the same chart block can show each recipient a different slice of the same bound source: "your team's tickets this week," not just "all tickets."

Campaign response results

Rather than connecting a data source at all, a chart can plot the results a previous campaign already collected — a poll's vote counts, a rating block's star or NPS distribution, or a multiple-choice/checkbox/scale/star-rating form question's counts. Free-text form questions have no numeric rollup and don't appear in the picker.

Pick a Campaign (any project in your account), then a Poll, rating, or question from that campaign's tree. There's nothing else to configure — the chart is wired straight to that question's existing rollup, the same numbers the responses dashboard already shows for polls and ratings, and the per-question rollup it shows for form questions.

One behavior worth calling out because it's the one exception to this whole block family's "numbers fixed at send time" rule: a response-bound chart is only live inside the hosted live-view page, which re-reads the source campaign's current rollup on every page load — so the chart keeps updating as more people respond to that other campaign, even after this email has already been sent. The mailed HTML itself is still a static snapshot taken at send or export time, exactly like every other chart; only the live-view page continues to refresh it.

The Dashboard project purpose

Starting a new project as Dashboard seeds a heading, three KPI scorecards (Revenue, New signups, Conversion rate) and a bar chart in one click — the Dashboard grid preset — followed by a footer. It's a starting point to restyle and rebind, not a finished report: the seeded scorecards and chart hold plausible example numbers as authored rows, they aren't bound to anything automatically. Connect them yourself using either mode above once you know which data source or past campaign the recurring report should actually track.