Field note
When GA4 and the CRM disagree on the same conversion
The request arrived as two CSV files and a short note: the marketing lead could not present a conversion count that finance would accept. GA4 showed 1,842 purchase events. The CRM showed 1,511 paid orders. Refunds did not close the gap.
We started with time. The analytics property was set to the United States, Pacific. The CRM exported in Malaysia Time. Shifting the GA4 extract by eight hours removed 94 events that belonged to the previous calendar day in Petaling Jaya and added 61 that belonged to the next. The remaining gap was still material.
Identity came next. The purchase event fired on the thank-you page and again from a server-side tag that the agency had added during a consent-mode project. Duplicate events shared a transaction ID in a parameter that GA4 was not using as a purchase identifier. Once we marked that parameter as the transaction key in a test property, the count fell toward the CRM.
The last cluster was consent. Users who rejected analytics cookies still appeared in the CRM. They never appeared in GA4. That is expected. It is also the sentence that belongs in the board pack: the analytics application is not a census of orders. It is a consented, tagged subset.
We left them with a single operating number for marketing (consented, de-duplicated, MYT) and a rule that finance would keep using the CRM. The argument ended because the two figures were no longer pretending to measure the same thing.
If a similar mismatch is sitting on your desk, request a briefing.