Workflow
Cross-channel reporting: shared evidence without false totals
Cross-channel reporting is a shared view of evidence from different systems, not necessarily a sum. Search impressions, website sessions and advertising reach describe different populations at different stages of a journey. Preserving those differences lets the report explain the journey instead of inventing a blended metric.
By Adlane · Updated
Define the question before choosing cross-channel sources
Start with the business question: did a product launch change how people find us, is the paid campaign bringing in people who then convert, has a site change affected both organic and paid landing pages? The question decides which sources belong and at what grain. A report that starts from the available exports instead tends to end as a wall of unrelated charts. Agree the question with whoever will act on the answer, so the report is shaped by a decision rather than by curiosity.
Record the account IDs, properties, date ranges, timezones, currencies and metric definitions at the top. These are the terms on which every later comparison depends.
Which source answers which stage of the journey?
Each stage has a natural source and a natural unit. The table lists them and, in the last column, whether the row can be added to the next one. The answer is always no: the units differ and the populations overlap.
| Stage | Source | Unit | Can it be added to the next row? |
|---|---|---|---|
| Being found in search | Search Console or equivalent | Search impressions and clicks per query and page | No, a search impression is not an ad impression |
| Being shown an ad | Google Ads or Meta ad account | Ad impressions, reach, clicks | No, reach overlaps and clicks are not sessions |
| Visiting the site | Analytics property | Sessions, users, landing pages by channel | No, users are deduplicated per property, not per channel |
| Taking an action | Platform conversions and analytics key events | Attributed conversions under each system’s rules | No, the same order can be credited several times |
| Buying or enquiring | Order or CRM system | Recorded orders and leads | This is the reconciliation row |
Align identities and periods, and mark gaps honestly
Where a comparison needs it, align URL identities (trailing slashes, query strings, canonical versions) and date ranges across sources, remembering that search data arrives with a lag and ad conversions mature over a window. Compare complete, equal-length periods in the same timezone.
When a source is missing part of the period, uses a different definition, or cannot be joined to the others, mark the gap in the report rather than forcing the join. An honest blank is more useful than a figure built on a mismatched definition. Keep a short log of the joins you made and the rules you applied, so next month’s report can be built the same way and any difference reflects the data rather than the method.
Illustrative example: three observations, no attribution verdict
Illustrative example: in one month, organic entries to the product pages grew by 2,400 sessions, a Meta campaign reached 60,000 accounts at a frequency of 2.2 and spent 3,000 in the account currency, and the order system recorded 410 orders, roughly the same as the month before. These observations raise useful questions: did the campaign lift organic searches for the brand, did it reach people who then arrived through organic search, or did it have no measurable effect on orders?
The report should state those questions and what evidence would answer them, for instance a branded-query trend from search data or a geographic holdout. It should not announce that the campaign drove the organic growth, or that it had no effect. The numbers are invented to show how far side-by-side evidence can go without inventing a conclusion.
Why unique users, reach and attributed purchases cannot be summed
Reach and unique users are deduplicated within one system’s scope. Adding Meta reach to Google reach, or analytics users for one channel to users for another, counts people who appear in both groups twice. The overlap is unknown from aggregate reports, so the sum has no interpretation. Where a combined figure is genuinely demanded, label it as an upper bound and explain why the true figure is lower.
Attributed purchases have the same problem in a different form: Google and Meta can each credit a purchase that appears once in the order system. Present each platform’s credited figure separately with its attribution setting, and use recorded orders as the single reconciliation line. Any cost per outcome whose outcome count is zero should be shown as unavailable, not zero.
How to assemble a cross-channel report in Adlane
Adlane supplies the advertising rows. Connect the Google Ads and Meta accounts for the business and ask bounded questions such as “For September, show spend, impressions, reach, clicks and attributed purchases with the attribution setting, by campaign, for each platform separately, in the account currency.” Review the evidence returned and carry its labels into the report unchanged; Adlane keeps platform conversions apart rather than totalling them.
Search and analytics rows come from their own tools. End the report with a bounded next check rather than an unsupported attribution verdict. If the next step is an advertising change, Adlane prepares a proposal that you approve or reject; it is never applied from the conversation. The site’s free CPC, CPM, CPA and ROAS calculators cover the per-platform ratios.