1. Choose the accepted business event
Choose the business state that closes the path: an approved lead, paid order, activated trial or another explicit result. Keep raw submissions and provisional events available for diagnosis, but allocate the value used for a buying decision only under the agreed acceptance rule. Name the event ID that prevents duplicate counting.
2. Specify eligible clicks, views and contact types
Specify which clicks, views, visits, messages or offline interactions can enter the analysis. Their evidence requirements differ. A logged impression should not silently become equivalent to a deliberate click. Where a contact type is unsupported or unavailable, leave it outside the model and explain the missing coverage.
3. Audit identity and path coverage
Count accepted events with no matched contact, one matched contact and several contacts. Review those shares by the relevant device, route or customer group. A high average path length among a small matched subset can be misleading. Retain the unmatched outcome count beside any model built from the joined subset.
4. Choose a defensible lookback window
Use observed time to the accepted action to choose the eligible period. Compare plausible shorter and longer windows where retained records allow it. State the starting interaction and effective policy date. A longer window adds potential contacts, but does not establish that those extra contacts caused the outcome.
5. Select an explainable credit rule
Choose weights that your team can describe and reproduce. Equal credit provides a transparent baseline; position rules express priorities for introduction or closing; time-sensitive rules emphasise recency. These are analytical examples, not claims that every rule is available in Google Analytics, FroggyAds or a particular tracker. Check the selected implementation.
6. Document channel and direct-visit scope
List included channels and describe direct visits explicitly. A direct return might retain an earlier campaign source, receive credit or sit outside allocation, depending on the system. Record that rule. Compare campaigns under the same channel scope instead of treating a report limited to one platform as the complete customer journey.
7. Compare model outputs on identical paths
Run the comparison against the same accepted events, observed contacts, value definition and time boundary. Hold those inputs fixed while changing the credit rule. Show which source recommendations move, and inspect the affected paths. Changing the population as well as the weights would mix two different explanations for the result.
8. Test incremental outcomes with an experimental design
If the question is whether advertising created additional customers, use an appropriate experimental or holdout design rather than treating model credit as the answer. Attribution and incrementality may use different populations and measures. Explain those differences before combining conclusions, and do not add attributed revenue to measured lift as though they were separate sales.
9. Report missing identities, channels and late events
Keep identity loss, excluded channels, missing offline contacts, consent effects, late events and model assumptions beside the recommendation. Separate a known data gap from an estimate of its size. This helps the media buyer judge how much confidence the comparison deserves without pretending uncertainty disappears when the report displays decimal credits.
10. Use the result for a bounded campaign decision
Choose one next action that the evidence supports: test an introduction message, review a closing destination, narrow a source or retain the current allocation. Set the exposure and review point before spending more. Preserve the previous campaign setup so the next comparable cohort can show whether the action was commercially useful.