Subscribers Only
The full article plus 21 more subscriber-only posts come with a subscription.
The ad platform wants a click ID for offline conversion upload, but the Shopify order does not carry one. The cart attribute path only works going forward, so it cannot serve a backfill request. Using GA4 as a join table, the cart token naming trap, and the consent ceiling both paths share.
Offline conversion upload requires the click ID and the order to land on the same row. A Shopify order does not carry the click ID by default, so a join key sits in between. Capturing it going forward and recovering past orders are separate problems that need separate paths. The real trap is naming: four similar identifiers surround a single order, and picking the wrong one silently drops the match.
The full article plus 21 more subscriber-only posts come with a subscription.