Services About Insights Contact
5 min read

GA4 for Shopify: The Setup Most Stores Get Wrong

You set up GA4. You waited 24 hours for data to flow in. You logged in and… nothing.

Or you see data. But it looks weird. Your revenue is way too high or way too low. Your traffic numbers don’t match Shopify. You’re seeing duplicate events.

This is the most common problem I solve for Shopify stores. It’s not because GA4 is hard. It’s because the default setup is broken.

Let me show you what’s actually happening and how to fix it.

The Default GA4 Connection Doesn’t Track Ecommerce Events Properly

Shopify has a “Connect to Google Analytics” button. It feels like it should just work.

It doesn’t. Not fully.

When you click that button, Shopify sends basic data to GA4. Page views. Users. That’s it.

Your ecommerce events—the stuff that actually matters—are either missing or configured wrong. You won’t see accurate revenue. You won’t know which products people are buying. You won’t understand your customer journey.

You’ll just see that you had traffic. Good luck making decisions on that.

Here’s what you need to actually track:

Purchase events – Not just revenue, but which products, which variants, which categories, which traffic sources led to the sale.

Add to cart events – If you’re seeing lots of people add things to cart but not buy, that’s valuable information. That’s checkout friction.

View item events – Which products are people looking at? How many views before a purchase?

Search events – What are people searching for on your site? Is the search broken?

Add to wishlist events (if you have that feature)

The Shopify default gives you revenue. It doesn’t give you any of this.

How to Actually Set Up GA4 for Shopify

Step 1: Go into Shopify Settings > Apps and sales channels > Google Channel Manager. This is where Shopify connects to Google.

Step 2: If you haven’t already, connect your Google Merchant Center. Shopify needs this.

Step 3: Now go to your GA4 property (you can create one if you don’t have it yet). Get your Measurement ID. It looks like G-XXXXXXXXXX.

Step 4: Put that ID into the Shopify settings. This is the basic connection.

Step 5: Now here’s the important part. Go into your Shopify theme code and add the Google Analytics tag manually. Yes, manually. You can use Shopify’s native GA4 integration, but you need to verify it’s working.

How do you verify? Open your store in a private browser. Add something to cart. Go to your checkout. Buy something if you can. Now go into GA4 and check the Realtime report. Do you see yourself?

If yes, good. If no, something’s misconfigured.

If you’re not comfortable in code, hire someone for 30 minutes. This is worth getting right.

The Enhanced Measurement Problem

GA4 has a thing called “Enhanced Measurement.” Sounds good. It’s actually not.

Enhanced Measurement tries to auto-track certain events without you having to set them up manually. It’s supposed to be helpful. Instead, it creates a mess.

Here’s what I’d actually do: turn it off.

Go into your GA4 property > Data Streams > Web > Enhanced Measurement. Turn off everything except page views.

Now set up the events you actually care about manually. Yes, it’s more work. But you’ll know what you’re tracking instead of guessing.

Duplicate Events Will Destroy Your Data

If you’ve got GA4 connected through Shopify AND you’ve added the Google Analytics tag manually to your theme, you’re now sending every event twice.

You’ll see double revenue. Double purchases. Double everything.

This makes your data useless because you can’t trust the numbers.

Go back into your Shopify admin. Check which integrations are connected to Google Analytics. If you see the same GA4 property connected twice, remove one.

How do you know if this is happening? Your GA4 revenue doesn’t match your Shopify dashboard. Shopify says you made $5,000. GA4 says $10,000. Bingo. Duplicates.

Attribution Is Probably Wrong

GA4 uses something called “data-driven attribution” by default. It’s supposed to be smart. For Shopify stores with simple traffic patterns, it usually makes things worse.

What it does: it tries to figure out which touchpoint (ad, email, organic search, etc.) deserves credit for a sale. If someone googles your brand, leaves, comes back from an email, then buys—which channel gets credit? GA4’s algorithm guesses.

For small stores with straightforward traffic (mostly organic or direct), this creates noise.

Here’s what I’d actually use: First-click or Last-click attribution, depending on what you’re optimizing for.

If you’re trying to figure out which traffic sources bring your best customers, use First-click (which channel got them to your site first).

If you’re trying to figure out which channel closes the sale most efficiently, use Last-click.

Go into GA4 > Admin > Attribution Settings. Change from “data-driven” to one of the others. Then stick with it for at least 30 days so the data makes sense.

The Channels Are Miscategorized

GA4 auto-sorts your traffic into channels (organic search, direct, email, social, etc.). It gets things wrong.

You’ll see traffic labeled as “Direct” when it actually came from somewhere else. You’ll see email campaigns lumped into “Direct.”

Why? Because people are clicking through with UTM parameters missing.

Every link you send in email should have UTM parameters. Every ad should have UTM parameters. Every affiliate link should have UTM parameters.

If you don’t have them, GA4 guesses. And it guesses wrong.

Here’s the format:

yoursite.com?utm_source=email&utm_medium=newsletter&utm_campaign=jan-sales

utm_source = where it came from (email, facebook, your-partner, etc.)

utm_medium = how (email, social, affiliate, etc.)

utm_campaign = what (jan-sales, black-friday, etc.)

If every email, every social post, every ad has this, your channels will be accurate.

What to Check Right Now

Go into GA4. Look at your Conversions report. Is it tracking “purchase” events?

If it says 0 purchases, something’s broken.

Go into Realtime. Add something to your cart. Do you see an event fire?

If you don’t, GA4 isn’t tracking your ecommerce activity at all.

If you see duplicate numbers (GA4 shows 2x your Shopify revenue), you’ve got the duplicate event problem.

Pick one of these three to fix first. All of them will shift how you understand your store.


GA4 setup frustrates a lot of store owners because it should be simpler than it is. If you’ve got GA4 running but you don’t trust the numbers, that’s usually a configuration problem, not a GA4 problem. If you want someone to audit your setup and fix it, that’s exactly what I do.

Ready to fix what's broken?

Stop guessing and get a real diagnosis. Book a Growth Audit or jump straight into a Sprint.