If you have ever put a Meta ROAS number next to a Google ROAS number on the same slide, you have probably watched the room argue for ten minutes about which one is "right." It is not a data-pipeline problem. It is two vendors counting the same conversion through two different attribution windows, and arriving at two different return-on-ad-spend numbers as a matter of definition.
Meta, by default, credits a conversion if a user clicked a Meta ad within the last 28 days, or viewed one within the last 1 day, before purchase. This is a 28-day-click / 1-day-view window. Google Ads, by default, credits the final click before the conversion. Same purchase; very different per-channel ROAS math at the end of it.
A worked example: imagine a shopper clicks a Meta ad on day 1, browses for a week, then Googles your brand and buys after that Google click. The conversion is the same dollar. Meta's 28-day-click window credits Meta with the conversion. Google's last-click window credits Google with the conversion. Both vendors are reporting what they actually measured — and the two numbers, summed, double-count the same purchase.
That is exactly why "blended" ROAS reports smooth the gap out and look smaller: the blended math deduplicates. Spendquill does not blend in the headline row. We render both numbers, side by side, with the attribution window labeled on every card. The team stops arguing about which vendor's number is "right" and starts arguing about the structural delta — which is the only argument with an answer.