Skip to content

For GA4 usersFrustrated with GA4 attribution? Upload your GA4 export, see causal insights in 5–10 minutes for €99 pay-per-use.

Insights

16 min read

How to Export and Share Attribution Reports You Can Defend

How to export and share attribution reports that withstand scrutiny: the formats stakeholders use and a one-page CFO summary you can build fast.

Share
Quick Answer·16 min read

How to Export and Share Attribution Reports You Can Defend: How to export and share attribution reports that withstand scrutiny: the formats stakeholders use and a one-page CFO summary you can build fast.

Read the full article below for detailed insights and actionable strategies.

The attribution problem

One sale. Four channels. 400% credit claimed.

100
1 sale
Meta
100%
claimed
Google
100%
claimed
TikTok
100%
claimed
Klaviyo
100%
claimed

Reported revenue: 400 · Actual revenue: 100 · Gap: €300

A practitioner's guide to defensible attribution exports, the formats stakeholders open, and a one-page CFO report you can build in five minutes.

Updated 8 September 2026 · Joris van Huët, founder, Causality Engine

The fastest way to lose a budget meeting is to walk in with a beautiful channel ranking and no answer to the question "how do you know?" I have watched it happen. A marketer shares a slick dashboard, the CFO points at one number, asks what model produced it, and the room goes quiet. The report was pretty. It was not defensible.

A defensible attribution report answers four questions before anyone asks them: what method produced this number, what data and date window it covers, how uncertain the estimate is, and what changed since the last report. Everything else is decoration. Get those four right and your export format almost does not matter. Get them wrong and no format saves you.

What makes an attribution report defensible

Defensibility is not polish. It is a decision record. Someone in finance should be able to read your report, understand what they are looking at, and trust that the recommendation follows from the evidence.

Underneath the four questions sit four properties, and most marketing numbers have none of them. A number you can defend comes from a source that does not sell you media. It states its coverage: how much of the revenue your systems could actually attribute. It states its design: experimental, quasi-experimental, or observational, and if observational, that it is a description rather than a causal claim. And it states its interval and its floor: not "the channel delivered a 12% lift" but "12%, with an interval of 4 to 20, from a design whose minimum detectable effect was 8%." The four elements below are how you put those properties on a page.

State the method in plain language. Name the model. Do not just show its output. GA4 data-driven attribution evaluates converting and non-converting paths and uses a counterfactual comparison of what happened against what could have happened, according to Google's attribution model documentation. GA4 last-click assigns all key-event value to the last eligible channel. HockeyStack's linear model divides revenue equally among qualifying touches, and its position-based model gives the first and last touches 40 percent each. These are credit allocation rules. They are not the same thing as causal incremental lift, and a defensible report does not present them as if they were.

This distinction matters more than most reports admit. Attribution assigns credit among touchpoints. Causal incrementality estimates the additional revenue a channel actually caused. A channel can collect a lot of credit and cause very little. If your report blurs the two, you are inviting a bad budget decision.

Show the data window and input scope. Every report should display the reporting start and end dates, the date it was generated, the conversion or key-event definition, the revenue definition, the channels included, whether the window is calendar-based or rolling or lifetime, and which data sources fed the analysis. The same channel ranks differently when the period, conversion event, or channel grouping changes. If you hide the window, you are hiding the reason a number moved.

Show uncertainty, not just a point estimate. A single ROAS figure invites false confidence. Put the confidence interval or uncertainty range next to every estimate, and put the design's minimum detectable effect next to the interval, because an interval without its floor is incomplete. Then say plainly whether the result supports a decision. Causality Engine returns per-channel incremental ROAS with confidence intervals, and its guidance is worth borrowing regardless of what tool you use: an interval that straddles 1.0x means the channel may not be incremental, while an interval clearly above 1.0x is a stronger signal. Do not invent a significance percentage to make a slide look rigorous. Show the interval and let it do the talking.

Include a "what changed since last time" section. This is the part most reports skip, and it is the part that saves you in a live meeting. A small table comparing the previous report to the current one prevents a stakeholder from mistaking a methodology change for a performance change. If Pinterest dropped in the ranking because you switched attribution models, say so. If it dropped because performance genuinely fell, say that instead. Those are different conversations. And watch for a third cause: the platforms redefining what they count. Meta narrowed its click-through attribution to link clicks on 3 March 2026, and reported conversions fell for many advertisers with no change in a single sale. The scoreboard does not have to be dishonest to be treacherous. It only has to change while you are reading it.

Item Previous report Current report Why it changed
Reporting window Prior dates Current dates New period added
Method Prior model Current model Config change
Channel definition Prior grouping Current grouping Taxonomy change
Paid spend Prior total Current total Budget change
Reported ROAS Prior value Current value Performance or tracking
Causal or modeled ROAS Prior value Current value New evidence or refresh
Confidence interval Prior range Current range More or less information
Decision Prior action Current action Keep, scale, reduce, test

The five numbers finance actually needs

The question every CFO is really asking is not "what was the ROAS" but "how much of this do you actually know?" Five numbers answer it, none of them needs a vendor, and all of them come from data you already own.

  1. Coverage. Attributed conversions divided by actual orders from the finance or commerce system, monthly, plotted over twelve months. This is the sensor's calibration. In our own analytics warehouse, 48.6% of sessions between 17 October 2025 and 2 September 2026 had no resolvable source; that is one company's census, not a benchmark, and yours will differ.
  2. Visibility rate. The all-in cost of being found (media, marketplace commissions, mandatory ad fees, payment processing, the measurement stack) divided by gross merchandise value, quarterly. This is the true input price, and it is never the media rate.
  3. Claim ratio. Every platform's claimed conversions added up, divided by actual orders. Above 1.0 for most multi-channel advertisers. Track its level once and its movement always, because movement is usually definitional change rather than performance.
  4. Mix-adjusted unit cost. Your blended unit cost, and beside it what it would have been at last year's mix. The difference is the mix effect in euros.
  5. Anchor date and minimum detectable effect. The date of your last qualified holdout and the smallest lift it could have detected. Everything downstream of that date is model, not measurement, and confidence decays from it.

Presenting these five numbers will, the first time, make your marketing look worse. Coverage will be lower than anyone expected, the claim ratio will show the platforms collectively taking credit for more sales than the company made, and the anchor date will often be never. That is the correct first result. It is what the situation actually is, and a smaller number you can defend is worth more than a larger number you cannot.

The export formats stakeholders actually open

I stopped thinking of PDF, shared links, and spreadsheets as competing formats. They serve different people at different moments. A defensible reporting habit uses all three.

Format Best use What it preserves Main risk
PDF CFO, board, budget meeting, email A fixed snapshot of the conclusion Goes stale, no drill-down
Shared link Marketing, finance, agency review Live filters, interactive detail Permissions, changing data, link rot
Spreadsheet Finance reconciliation, scenario planning Row-level values and formulas Someone edits a formula or mistakes credit for causal impact

The PDF is what the CFO reads before the meeting. The link is what the analyst opens to check your work. The spreadsheet is what finance uses to reconcile against the ledger. Send only the link and someone screenshots a stale version into a deck. Send only the PDF and no one can verify a single row. Both failures are common.

How GA4, Looker Studio, HockeyStack, Domo, and Causality Engine handle sharing

Each tool exports differently, and the defensibility caveat is different for each. Where a capability is not documented on the vendor's site, I have left it as not publicly confirmed rather than guessing.

Product What it produces Sharing and export Defensibility caveat
GA4 Key-event credit using selected models (data-driven, last click) Report link, PDF, CSV, Google Sheets export; CSV and Sheets exports up to 100,000 rows; connects to Looker Studio and the Data API Must name the selected model and key event. GA4 output is credit allocation, not causal incrementality
Looker Studio Interactive reports combining data sources Invite viewers or editors, link sharing, PDF snapshots, report links that keep current filters and date ranges, scheduled PDF delivery Live links are useful, but the report must show refresh date, filters, and window so viewers know what they see
HockeyStack Multi-touch models: linear, uniform, first, last, position-based, time decay, predictive CSV download from the attribution table, CSV export of report data, saved views State whether a number is credited, touched, influenced, or actual revenue. Uniform measures influence and may not total revenue
Domo Dashboard and card reporting with scheduled distribution PDF or PowerPoint dashboard export, CSV and Excel card export, scheduled email reports, underlying-data CSV attachment up to 5 MB Scheduled reports are static and do not update when dashboard filters change. Show filters and snapshot date
Causality Engine Per-channel causal read of a GA4 export with confidence intervals and platform-reported vs causal comparison Exportable report for a team or agency: export GA4 as CSV, upload, receive the causal read, export the result Preserve the uploaded date range, conversion definition, channel mapping, and intervals. Longer window gives a cleaner read

A note on why I put Causality Engine in a different column than the others. GA4 and HockeyStack are primarily reporting credit under a chosen model. That is a legitimate job, and for many teams it is enough for day-to-day monitoring. But when the question is "which euro of spend actually moved revenue," credit allocation is the wrong instrument. Causality Engine runs a causal read on the same GA4 export and labels the output as incremental contribution with a confidence interval, plus a side-by-side of what the platform reported versus what the causal model found. That comparison is what surfaces over-attribution. For a report you have to defend in front of finance, having reported ROAS and causal ROAS in separate columns is the single most useful thing you can do.

The practical mechanics are light. You export GA4 as a CSV, upload it, and the read generally comes back in five to ten minutes with per-channel incremental ROAS, confidence intervals, and budget reallocation recommendations. One read is 99 euro. Pro at 299 euro per month adds automated GA4 ingestion, a chatbot across your historical data, a developer API, and continuous operation of the same model. If you only need one defensible read before a quarterly budget meeting, the 99 euro read is the honest place to start.

Two disclosures belong in that report, and they apply to us as much as to anyone. First, the read is a model on observational data, not an experiment; it states its counterfactual and its interval, and it should sit on your page labelled as such, with the date of your last qualified holdout next to it. Second, between 14 August and 2 September 2026 we audited thirty-one commercial measurement vendors for a published validation of their method against randomised experiments, with the sample, the design and the discrepancies disclosed, and we found none. Ask us, as you should ask any vendor, for that validation before you weight the number.

A one-page report a CFO can read in five minutes

The CFO page is not the full customer journey. Its job is to make the decision, the evidence, the uncertainty, and the next validation step visible on one page. Here is the outline I use.

Header

  • Title: Marketing attribution and incremental return
  • Reporting window: exact start and end dates
  • Prepared: report date
  • Decision required: approve, hold, reduce, or test
  • Method: the exact attribution or causal method in one sentence
  • Coverage and anchor: attributed conversions divided by orders for the period; the date and minimum detectable effect of the last qualified holdout, or the word never

1. Executive answer. Three bullets, no more. What drove incremental revenue or the strongest modeled contribution. What looks overstated or uncertain. What budget action you recommend.

2. Channel decision table.

Channel Spend Revenue Reported ROAS Causal or modeled ROAS Confidence interval Action
Channel A Scale, hold, reduce, test
Channel B Scale, hold, reduce, test
Channel C Scale, hold, reduce, test

If you built this from GA4 or HockeyStack, label the column attributed ROAS or credited value, not causal ROAS. If you built it from Causality Engine, use its causal and confidence-interval terminology. Do not mix the labels. Add a line under the table naming the smallest lift the design could have detected; a channel whose expected effect sits below that floor gets the action "not measurable at current scale, managed on judgement," which is a legitimate line item and far better than a confident number nobody can defend.

3. What changed since the previous report. Spend change, revenue change, ranking change, any model or tracking change, confidence interval change, and one sentence naming the most important movement.

4. Decision and downside. The recommended budget move, the expected direction of impact, what stays uncertain, and the test or monitoring step that will validate it. State it plainly if an interval crosses break-even. A CFO respects "the interval crosses 1.0x, so we hold and test" far more than a confident number with no caveat.

5. Method and scope footer. Data sources, exact date window, conversion definition, attribution model or causal method, channel grouping, filters and exclusions, report version, a link to the detailed report, and the file name of the underlying spreadsheet.

The workflow I would use tomorrow

Build the report from the decision backward. Start with the budget question, not the chart you happen to have. Freeze the reporting definition before you pull anything: dates, key event, revenue, channel taxonomy, model. Keep reported credit and causal contribution in separate columns so no one conflates them. Put uncertainty next to every estimate instead of burying it in an appendix. Explain both the business changes and the measurement changes from last time.

Then export three versions: the one-page PDF for the CFO, the shared link for interactive review, and the spreadsheet for finance to reconcile. Archive the source file, the export date, the filters, the model, and the report version alongside the PDF. Never overwrite the prior report. A defensible report needs an audit trail, and the first time someone challenges a number from three months ago, you will be glad you kept it.

FAQ

What is the difference between attribution and incrementality?

Attribution assigns credit for a conversion among the touchpoints a customer saw. Incrementality estimates how much revenue a channel actually caused, meaning revenue you would not have gotten without it. A channel can win a lot of attributed credit while causing very little incremental revenue, which is exactly the gap that leads to overspending on a channel that looks good in a dashboard.

Which export format should I send to a CFO?

A one-page PDF for the meeting, but do not stop there. Include a link to the underlying spreadsheet in the footer so finance can reconcile row-level values against the ledger. The PDF makes the decision readable in five minutes. The spreadsheet makes it verifiable. Sending only one of the two is where trust erodes.

Is GA4 attribution defensible on its own?

It can be, as long as you label it correctly. GA4 documentation describes its models as credit allocation rules, not proof of causal lift. So a GA4-based report is defensible as a credit view if you name the model and the key event and do not present the output as incremental revenue. The trouble starts when someone treats last-click or data-driven credit as the true causal contribution of a channel.

Do I need continuous monitoring or is a one-time read enough?

Depends on how often budgets move. If you set spend quarterly, a single causal read before the meeting is usually enough, and at 99 euro it is cheap insurance against a bad reallocation. If you adjust budgets weekly and want alerts when a channel's contribution shifts, continuous ingestion at 299 euro per month earns its keep. Either way, put the date of your last qualified holdout on the dashboard: between anchors you are running on a model, and confidence decays from that date.

Sources and further reading

Vendor prices and features quoted in this article were taken from each vendor's own website on 8 September 2026 and may have changed since. Check the vendor's pricing page before relying on a figure.

Get attribution insights in your inbox

One email per week. No spam. Unsubscribe anytime.

Key Terms in This Article

Related Articles

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Ready to see your real numbers?

Own the budget? Upload your GA4 export and see which channels drive incremental sales, with confidence intervals, in minutes. Have to defend it? Start with the live demo and take the read to your CFO.

Full refund if you don't see value.

Stay ahead of the attribution curve

Weekly insights on marketing attribution, incrementality testing, and data-driven growth. Written for the person who owns the budget and the person who has to defend it.

Which one are you? Optional.

No spam. Unsubscribe anytime. We respect your data.

Related reports

Real reports on this topic.

Anonymised reports from the Attribution Report Library tagged with insights.

Browse all related reports

Find your wasted ad spend in 5–10 minutes.

Watch the model work on a sample store first, no signup. Then upload your last 40–90 days of GA4 sessions and get incremental ROAS with confidence intervals. No pixel, no SDK. €99 per read.

Prefer to talk it through? Book a 20-min call, or read how it works.

Last-click guesses.We run the math.

Causal attribution for ecommerce brands. Watch the model work on a sample store first, then upload your GA4 export and see which channels really drove revenue in 5–10 minutes. €99, pay-per-use. Pro at €299/mo when you want it continuous.

No signup for the demo. Book a 20-min call or compare plans.