Installing Google Analytics 4 on Shopify takes an afternoon. The expensive part comes months later, when the numbers look wrong and nobody remembers what was set up.
Setting up Google Analytics 4 on Shopify is six steps. Create a Google and Analytics account. Create a GA4 property. Add a web data stream. Install Shopify's Google & YouTube channel to connect it. Set how long GA4 keeps detailed data. Then check data is actually arriving before anyone trusts a number.
The setup is the easy part. The hard part comes months later, when GA4 and Shopify disagree and nobody remembers which time zone, currency or retention period was chosen. So write each one down as you go.
Shopify notes that Google Analytics can't track events until you turn off the password page, which Shopify calls private mode. If you set GA4 up before launch, expect an empty Realtime report until the store is open.
Choose the time zone carefully, because it decides which day a sale lands on. Google's example: if a visitor shops on a Tuesday in their time zone but it is still Monday in yours, the visit is recorded as Monday. Changing the time zone later only affects data from then on, so you can end up with a gap or a spike on the day you change it. Match it to your Shopify store's time zone from the start.
GA4 keeps detailed data about visitors and events for 2 months unless you change it. On the free version you can raise that to 14 months.
It is worth doing, but it is often described as more urgent than it is. Google's own documentation says this setting does not affect standard reports. It only affects explorations and funnel reports, the more advanced analysis tools. Your normal traffic and sales reports keep their history either way.
Two more facts that take the pressure off. When you increase the period, Google applies it to data you have already collected and not yet deleted. And any change waits 24 hours before it takes effect, so a mistake can be reverted.
So set it to 14 months on day one, because there is no reason not to. Just do not panic if you find a property still on 2 months.
Try it on one of your own procedures.
Record a process once, AI writes the structured SOP. 3 free SOPs, no credit card.
Seeing yourself in Realtime proves data is flowing. It does not prove purchases are recorded correctly. For that, place a real test order.
If a purchase never appears, or the value is wrong, that is the point to bring in a developer or the support team for your tracking setup. Diagnosing tracking code is not a job to learn under pressure.
How to place a test order safely on a live store, and what else to check while it is in your admin.
GA4 and Shopify will never agree exactly, and that is normal. Shopify lists the reasons itself:
So use Shopify for the true order and revenue count, and GA4 for where visitors came from and what they did. A gap of a few percent is expected. A gap that suddenly widens is a sign something in the setup has changed.
A GA4 setup that was right at launch can quietly go wrong. The usual causes:
None of these produce an error message. You only notice when a report looks wrong, which is usually long after it started.
Re-check on triggers, such as a new checkout app, rather than on a calendar.
Keep a short record next to the setup steps. These values do not go stale. They become the evidence when something else does.
| Record | Why it matters later |
|---|---|
| The G- ID | Confirms which property your store is actually sending to |
| Reporting time zone | The first thing to compare when daily numbers disagree |
| Currency | Should match the store, or revenue will never line up |
| Retention period | Tells you how far back explorations can look |
| Who owns it | One named person who re-checks it |
| Last test order | The date and order number of the last check that passed |
Re-check after any new app that touches checkout, any change to your Google & YouTube channel, and any time GA4 and Shopify suddenly drift further apart.
Keep the old version when you update the procedure, so you can see what changed and when.
This is where ReccordSOP helps. Record yourself running through the setup and the test-order check once, and it becomes a step-by-step SOP with a screenshot of each step and the clicked button highlighted. Record it again after Google or Shopify changes a screen, and it shows which steps changed instead of overwriting the old version. It documents the process. It does not watch your GA4 or Shopify settings for you.
Start this week. Open GA4, write down the G- ID, time zone, currency and retention period, then place one test order and confirm the purchase arrives with the right value. That single check tells you whether the setup you think you have is the one you actually have.
Create a Google account and an Analytics account, create a GA4 property with your reporting time zone and currency, add a web data stream and copy the ID starting with G-, then install the Google & YouTube sales channel on Shopify and follow Google's Shopify tag setup steps. Set data retention to 14 months and check data is arriving in the Realtime report.
First check your store does not still have a password page. Shopify notes Google Analytics can't track events until private mode is turned off. Then allow up to 30 minutes after setup for data to start appearing, and check the Realtime report while you browse the store.
They measure differently. Shopify lists the reasons: Google counts page reloads differently, the two define sessions differently, Google can only count visitors who allow JavaScript and cookies, some customers block Google Analytics with browser extensions, and the reporting time zones may differ. Use Shopify for the true order count.
Set it to 14 months, but it is less urgent than often claimed. Google says the retention setting does not affect standard reports, only explorations and funnel reports. Raising it also applies to data already collected that has not yet been deleted.
After any new app that touches checkout, after any change to the Google & YouTube channel, and whenever GA4 and Shopify suddenly drift further apart. Each check is one test order confirming the purchase arrives once, with the right value and currency.
3 free SOPs to start. No credit card required. See if drift detection keeps your docs honest.
Start for freeI built ReccordSOP after watching too many DTC ops teams lose months to undocumented workflows. These SOPs are battle-tested with Shopify operators running $1M to $50M brands.
Last reviewed October 7, 2026
A checkout that completes is not a checkout that works. After a theme or app change, the test is whether the order in your admin holds everything the storefront collected.
A review calendar is the weakest trigger you can build a maintenance habit on, because the calendar has no idea whether anything changed.
A version history tells you what existed. A step-level diff tells your team what changed and whether it affects the work.
We use essential cookies for sign-in and a small amount of analytics to improve the product. Privacy policy.