TL;DR
A purchase that happens once gets counted on different calendar days by Shopify, GA4, Google Ads, and Meta, because each tool uses a different attribution window and a different date basis. Shopify books a sale on the day the order was made. Google Ads books it on the ad click date, sometimes a week earlier. GA4 spends 24 to 48 hours processing and can re-credit a channel for up to 12 days afterward. That is why a number you read on Tuesday looks different on Friday. The lag is normal platform behavior, not broken tracking. Your job is to send each platform a clean, correctly timestamped event and then compare numbers only after the windows have settled.
Key Takeaways
- Google Ads defaults to a 30-day conversion window, adjustable from 1 to 90 days, and counts conversions by the ad click date, not the purchase date [1][2].
- Meta's current default is 7-day click plus 1-day view; the 28-day-view and 7-day-view options were removed from the Ads Insights API on January 12, 2026, while the 28-day click window stays available for reporting [9][10].
- GA4 takes 24 to 48 hours to process data, and attribution credit for a key event can change for up to 12 days after it happens [3][4].
- Shopify books a sale on the day the order was made, a different basis from the click-date logic ad platforms use [6].
- Recent days always look under-counted on Google Ads because some clicks have not converted yet, so judging yesterday's performance is a mistake [1].
- Compare platforms only on a closed, lagged window (a month that ended at least 7 to 14 days ago) with time zones aligned, never on raw daily counts.
- A tracking app cannot change any platform's window or processing delay; it can only deliver each conversion correctly and on time so the platform applies its window to good data.
Why do my conversion numbers keep changing after the fact?
Because the platforms are not counting the same thing on the same day. Each one applies its own attribution window and its own date basis to the same purchase, so the sale lands in a different column depending on which tool you open.
An attribution window is the span of time a platform will look back from a conversion to find the ad interaction that earned it. Meta defines it directly: the number of days between when a person viewed or clicked your ad and then took an action is the attribution window [8]. The date basis is the separate question of which day the platform files the conversion under. Google states the cleanest version of the mismatch: Google Ads reports conversions on the ad impression date, while other reporting tools attribute them to the conversion date [5]. So one sale, two different dates, before you even add GA4 and Shopify into the mix.
This is a timing problem, not a counting problem. The separate question of why Google Ads might show fewer total conversions than Shopify is a magnitude gap covered elsewhere, and the question of which model gives credit (first click, last click, data-driven) is its own topic. This article is only about why the same set of conversions moves between days and never lines up across tools. For the model side, see how Shopify attribution works and GA4 attribution models.
What are the default attribution windows on each platform?
Here is the comparison no single platform doc will give you, because each one only documents itself. These are the current defaults and date bases as of 2026.
| Platform | Date basis (books the sale on) | Default window | Window range / options |
|---|---|---|---|
| Google Ads | Ad click date | 30 days | 1 to 90 days (commonly 1/7/14/30/60/90) [1][2] |
| Meta | Ad impression/click date | 7-day click + 1-day view | click 7 or 1, view 1 or none [9][10] |
| GA4 | Conversion/session date | 30-day acquisition, 90-day other key events | acq 7 or 30; other 30/60/90 [11] |
| Shopify | Day the order was made | Sale date (no ad window) | Last non-direct click model [6] |
Two details matter most. First, Google Ads sets the default to 30 days only if you do not customize it: if you do not customize the click-through conversion window when you create a new conversion, the default window is 30 days [1]. You can set it anywhere from 1 to 90 days [1]. Second, Meta's view-through window options shrank this year. The 28-day view and 7-day view windows were removed from the Ads Insights API on January 12, 2026, while the 28-day click window stays available for reporting, so any guide still quoting a 28-day view window is out of date [10]. The current default for a new conversion-optimized ad set is 7-day click plus 1-day view [9].
Why a number changed three days later: a concrete walkthrough
Take one real order. A shopper clicks your Google ad on a Thursday, leaves, comes back, and buys on the following Tuesday. Here is where each tool files that single sale.
Google Ads counts conversions by the time of the click, not the time of the conversion. Google says it plainly: if your ad was clicked on last week and that traffic converted this week, both the click and the conversion are reported back to last week [2]. So on Tuesday, Google has not booked the sale yet under Tuesday. A day or two later it attributes the conversion back to Thursday, and Thursday's total quietly rises. Google even warns that recent performance might not look as strong because some of the people who clicked your ad have not converted yet [1].
Meta files the conversion against its own impression or click date inside the 7-day window, which can be a different day again, and modeled events backfill over the next day or two.
GA4 receives the purchase event on Tuesday, then spends 24 to 48 hours processing it, during which the numbers in your reports may change [3]. After that, GA4 can still re-credit the channel: attribution credit for a key event can change for up to 12 days after the event is recorded [3][4]. So the same order can shuffle channels in GA4 for almost two weeks.
Shopify is the simplest. It books the sale on Tuesday, the day the order was made, because Shopify reports sales for the day they were made [6]. It is the only one of the four anchored to the purchase date itself.
One sale, four different dates. The daily columns can never reconcile, and chasing that reconciliation wastes hours. Shopify itself acknowledges this, saying discrepancies arise because of different reporting time zones, differences in how Shopify and third parties attribute interactions, and delays in syncing data [7].
How long until the numbers settle?
Long enough that you should never trust a same-day or two-day-old figure. Each platform stabilizes on its own schedule.
Google Ads keeps reporting conversions by query date, so you may not always see the most updated numbers immediately, and modeled conversions (estimates for conversions Google cannot observe directly) fill in over several days [2]. GA4 needs 24 to 48 hours just to finish processing, and its attribution can move for up to 12 days [3][4]. Meta's modeled and view-through results commonly firm up over a few days. Shopify is effectively real-time because it is reading its own order database, which is exactly why Shopify and the ad platforms diverge most in the first 48 hours.
The practical rule: pick a window that has fully closed. Compare a month that ended at least 7 to 14 days ago, not a rolling yesterday. Align the time zones first, because a platform set to UTC and a store set to a local zone will split a single day's orders across two calendar days. Then compare totals and trends, not raw daily counts. Judge campaigns on settled cohorts. If you want the related question of how Google Ads conversion tracking is configured on Shopify in the first place, see Google Ads conversion tracking on Shopify.
What a tracking app can and cannot do about this
A tracking app cannot speed up, shorten, lengthen, or control any platform's attribution window or processing delay. Those are platform behaviors and merchant-side settings inside Google Ads, Meta, and GA4. Any tool claiming to fix reporting lag is selling something that does not exist.
What a tracking app can do is narrow but real: send each purchase server-side the moment the order is created, stamped with the right timestamp and the right identifiers, so the conversion lands in the correct window with clean data. WeltPixel Conversion Tracking sends the conversion to Meta, TikTok, Reddit, and Google Ads stamped with the order's own time, so each platform books it against the date the purchase actually happened and applies its own window to good input. The GA4 purchase event is the one exception worth being honest about: it is sent immediately on order creation but timestamped at send time rather than order time, which in practice is seconds apart. The point is that the event arrives correct and on time. The window math after that belongs to the platform, and no app changes it.
FAQ
What is the default attribution window in Google Ads?
Thirty days for click-through conversions, if you do not customize it when creating the conversion action [1]. You can set it anywhere from 1 to 90 days. Google counts the conversion by the ad click date, not the purchase date [2].
Why does GA4 show different numbers a day later?
GA4 takes 24 to 48 hours to process data, and your reports can change during that time [3]. On top of that, attribution credit can shift for up to 12 days after the key event happens, so a channel can gain or lose credit well after the sale [3][4].
Did Meta change its attribution windows in 2026?
Yes. The 28-day view and 7-day view windows were removed from the Ads Insights API on January 12, 2026, while the 28-day click window stays available for reporting [10]. The current default is 7-day click plus 1-day view [9], so older guides quoting view-through windows longer than 1 day are outdated.
Why does Shopify never match my ad platforms?
Shopify books a sale on the day the order was made, while ad platforms book it on the ad click or impression date and apply their own windows [5][6]. Shopify itself attributes the gap to different time zones, different attribution rules, and sync delays [7].
How long should I wait before comparing platforms?
Until each window has closed. Compare a month that ended at least 7 to 14 days ago, align time zones first, and look at totals and trends rather than daily counts. Daily numbers within the last few days are always in motion.
Send clean events and let the windows settle
You cannot make four platforms agree on which day a sale happened, because they were built to count it differently. What you can control is whether each platform receives the conversion at all, on time, with the right timestamp and identifiers. WeltPixel Conversion Tracking sends every Shopify order server-side to GA4, Meta, TikTok, Google Ads, and Reddit the moment it is created, so each platform applies its own window to a complete, correctly timed event instead of a gap.
Install WeltPixel Conversion Tracking on the Shopify App Store
Sources
- Google Ads Help: About conversion windows
- Google Ads Help: About conversion tracking
- Google Analytics Help: Data freshness and SLA constraints
- Google Analytics Help: About modeled key events
- Google Ads Help: Data discrepancies, factors and troubleshooting
- Shopify Help Center: Sales reports
- Shopify Help Center: Discrepancies in reports
- Meta Business Help: About attribution windows in Meta Ads Manager
- Meta Business Help: About attribution models and attribution settings
- Meta Ads attribution window changes, January 2026
- Google Analytics Help: Attribution and lookback windows