Meta, Google, the site, the CRM: every platform with its own dashboard and its own definition of a conversion. The editorial plan lived in one spreadsheet, the budget in another, and neither talked to actual spend.
Rather than buy yet another tool I built James: a platform holding ingestion, the funnel model, planning and measurement together. It is client-independent — reusable by design.
Ingestion
One warehouseData arrives from the ad and analytics platforms and is collected in one place, deduplicated by natural key, so repeated syncs do not create duplicates.
Model
Configurable funnelStages and KPIs are defined from the interface: source metric, aggregation, ratios between metrics, multipliers, entity level. Each stage can be tied to the real campaigns.
Planning
Plan against spendBudget plans break the period down by line, as a percentage or an amount, and the comparison with real spend is automatic. Lines that are operational effort rather than media budget stay out of the totals.
Execution
Calendar and cadenceEvery channel carries an expected cadence — minimum and maximum outputs per period — and a declared role in the funnel. Calendar items carry channel, owner, linked campaign and a link to the published post.
Channels
Paid, search and socialThe model covers the whole mix: Meta, TikTok, Google Ads Search and Google Ads Display. Each channel comes in with its own spend and its own role in the funnel — search captures existing demand, display and social build it — and is measured with the same definitions as the others.
Installed base
CRM, email and referralAlongside acquisition sit the initiatives on the existing customer base: email campaigns to win back inactive customers, and referral programmes. They live in the same model as paid, so a channel's cost per acquisition can be compared with the cost of a reactivation instead of sitting in a separate spreadsheet.
Context
Tags, events, competitionA multi-dimensional taxonomy with expected shares per dimension, events annotated directly on the charts, and monthly competitor traffic imported to compare your own share against the market's.
The result is not a prettier dashboard: it is that planning and measurement now use the same model. The editorial plan comes out of the funnel stages instead of being written separately, and at month end “what did we spend it on” has a single answer.