How to Run a Quarterly Attribution Checkup
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-10-27
The short answer: four checkups a year cost €396. If your budget moves a few times a year rather than every week, one causal read per quarter is the routine. Causality Engine prices it at €99 a read on its checkup page (checked on 27 October 2026). Each one starts with a free first finding on the start page. The routine: book four dates and know the triggers between them, then export the same way every time and log what changed. Run the read, compare it line by line with last quarter's, and move budget only where the verdict and the data health both allow it.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Rule of thumb for the calendar:
- What the habit costs. For example, 4 x €99 = €396 a year for quarterly reads, against 12 x €299 = €3,588 for a year of Pro, per the pricing page. The difference buys continuity, and you need that only when budgets move weekly.
- What you keep from last time. Last quarter's CSV, its share link and the settings it was exported with. Lose any of the three and this quarter is a new baseline, not a comparison.
- What counts as movement. A verdict that changed, a data-health score that crossed 90, a channel that crossed 1% of credit, an Unassigned row that grew. The page written for agents sets each of those thresholds.
What the product is, and its prices, are in the Causality Engine glossary entry.
Book four dates, and know the triggers between them
The quarter close is the fixed date. The read lands before next quarter's budget is set on this quarter's numbers. The checkup page adds four reasons not to wait: peak season ahead, a tracking or site change, a channel added or cut, and a platform's numbers disagreeing with your revenue. A tracking or site change means a new theme, checkout, consent banner or tag setup.
The first of those is close. The same page dates Black Friday 2026 to 27 November. A read in the first half of November is the one that checks the extra budget before it goes out. A reminder form on the page sends a confirmation now and one reminder on 1 January 2027. Then nothing.
Step 1: Export the same way every time
A comparison is only as clean as its inputs. Keep the purchase key event alone and keep the report's default channel view. End the window on the quarter close: for example, 1 October 2025 to 30 September 2026 for the third quarter, then 1 January to 31 December 2026 for the fourth.
Consecutive windows share nine months on purpose. A shift between reads then comes from the new quarter or from a change in tracking, and the change log in step 2 tells you which. The settings and the checks on the file are in How to export GA4 data for attribution.
Step 2: Write down what changed in the quarter
List every channel you added, paused or doubled, every promotion, and every change to tags, consent or checkout. GA4 annotations help if your team uses them. An assistant connected to Google's read-only Google Analytics MCP server can call list_property_annotations and return the quarter's notes in one go.
The human check is on completeness. Annotations hold only what somebody typed in, so walk the list past whoever runs ads and the site before you trust it.
Step 3: Take the free finding, then the read
Drop the file on the start page first. The checkup page describes the free number as how many days buyers who saw two or more channels take to convert. Set it beside last quarter's. A longer journey leaves more touches before the last click, and last-click ignores every one of them. Then run the full read on the same file: €99, results in 1 to 2 minutes, refundable within 30 days.
Step 4: Compare the two reads, row by row
| Compare | Where it comes from | A change means |
|---|---|---|
| Engine share per channel | The read, after the Direct split | The channel's caused share moved; check the change log first |
| Last-click share, Direct left out | The same read | The channel closes more or fewer sales than before |
| The gap between the two | Your subtraction | Within 25%, the methods agree and the step is hold |
| Data health per channel | The read, 0 to 100 | Crossing 90 in either direction changes how big a move can be |
| Next step | The read | A new verdict is the agenda for the budget meeting |
| Unassigned | The read | Growth means tagging broke during the quarter |
| Days to convert | The free first finding | Buyers take longer, so more touches come before the last click |
Read the verdicts last. A changed number with an unchanged verdict is drift. A changed verdict with a matching line in your change log is a finding.
Step 5: Move budget only where the read allows it
The agents page gives the order. A changed verdict on a channel with health at 90 or above is a move. Test it by changing spend a little in one region, and compare revenue after the days the read names. Under 90, the same move goes in steps. Within 25%, hold. Under 1% on both methods, the read calls the channel too small to act on, so leave it out of the meeting. And if Unassigned grew, fix the tagging and run the read again before any of the rest.
Step 6: Keep one page for whoever signs off
Last quarter's call, what the test region showed, this quarter's call and the share link, on one page. The share link carries the receipts that check each number against the export, per how it works. The page needs no screenshots.
When a quarter is too long
Between checkups the platforms keep score for you, which is convenient. They keep it on their own terms. Each counts the same order in its own dashboard, as the causal attribution page puts it. And the company selling next quarter's media is the one that writes this quarter's ROAS.
If your budgets move weekly across 8 or more channels, a quarter leaves too many weeks unchecked. That is Pro's case on the pricing page: automated GA4 ingestion, a lifetime look-back, budget alerts and a chatbot over your own attribution data. Ask that chatbot, for example, which channels changed share since the last quarter close. Then check its answer against the read's receipts before it reaches the meeting.
Start this quarter's checkup
The routine works without paying for anything: a change log, the export saved with its dates, and the free first finding compared quarter on quarter. When a budget decision rests on it, Causality Engine, which I founded, adds the per-channel read for €99 a quarter from the start page, refundable within 30 days. Everything a read includes is listed on the pricing page (checked on 27 October 2026).
FAQ
Can I compare reads exported with different settings?
Only loosely. A different key event or a shorter window changes what the paths contain, so a moved number tells you nothing about the channel. Re-export last quarter's window with today's settings if you have to.
What if nothing changed?
It can feel like a wasted read. It is not: the checkup did its job. The checkup page treats a clean read as the result you want, with data health on every channel saying how far to trust it.
Is the checkup a subscription?
No. Each checkup is one €99 read paid once, excluding VAT, and nothing renews, per the checkup page. Pro is the subscription, for budgets that move weekly.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.