Founder Journey

Module 7 · Sprout

Analytics essentials

Nine rules that keep your numbers honest.

Analytics isn't about installing tools. It's about measuring the right thing, at the right moment, in the right place. A perfectly installed tag on the wrong trigger is worse than no tag, because it gives you confident wrong data.

Rule 1: Measure confirmed outcomes, not clicks

What founders do What to do instead
Fire "Add to Cart" on the button click Fire it when the cart actually updates
Fire "Lead" on form submit Fire it when the email platform accepts the signup
Fire "Purchase" on the payment page Fire it when the order is confirmed paid

Clicks lie. Confirmations don't.

Rule 2: One owner per event per destination

One purchase can go to GA4, Meta, Klaviyo, and Google Ads. That's fine. The problem starts when three systems each send the same purchase to GA4. Now revenue is triple-counted and nothing is real.

Pick one owner for each event at each destination:

  • Shopify sends Purchase to GA4
  • Shopify sends Purchase to Meta
  • Shopify sends Placed Order to Klaviyo
  • GA4 passes that Purchase to Google Ads

One source, one pipe.

Rule 3: Server-side isn't automatically better

Use server events for confirmed orders, refunds, and subscription changes: facts that must be reliable.

Use browser events for page views, product views, clicks, and cart behavior: things only the browser sees.

Most stores need both, deduplicated correctly.

Rule 4: Shopify is the one financial truth

Meta says it drove 40 purchases. Google says 35. Klaviyo says 20. That adds up to 95, and Shopify shows 30 orders.

That's normal. Every platform credits itself with its own rules. Shopify is right about orders and revenue. Use the platforms for campaign delivery, never as your business numbers.

Rule 5: Attribution is credit, not causation

Someone sees a Meta ad Monday, clicks a Google ad Tuesday, and buys directly Wednesday. That's one order. Meta and Google may both claim it.

Proving an ad caused a sale takes a holdout test: show the ad to one group and not another, then compare. Everything else is credit.

Rule 6: UTMs are labels, so protect them

Every ad and email link carries:

  • utm_source: where it came from (meta, google, klaviyo)
  • utm_medium: the channel type (paid-social, email, cpc)
  • utm_campaign: the campaign name, stable and lowercase
  • utm_content: the specific ad or creative

Two traps:

  • Keep it lowercase. Meta and meta become two separate rows.
  • Never put UTMs on internal links. A homepage button tagged utm_source=homepage overwrites the visitor's real source.

Rule 7: Raw customer data never goes into analytics

Emails, phone numbers, and names never belong in GA4 events, URLs, UTMs, campaign names, or event IDs. They live in Shopify and your email platform. Hashing doesn't make it anonymous, and consent still applies.

Rule 8: More tags mean worse data and a slower site

Every script costs your visitor download time, CPU, and battery. Before adding a tool, ask:

  • What decision will this data change?
  • Does something I already have cover it?
  • What does it cost on mobile?
  • Who owns the account if the agency leaves?

If you can't answer, don't install it.

Rule 9: Test like a real customer

Desktop Chrome with every cookie accepted is the best case. Real customers use iPhones, reject cookies, and click ads inside Instagram.

Place a real order on:

  • iPhone Safari
  • The Instagram in-app browser (tap your own ad)
  • Analytics accepted, advertising rejected

If the purchase disappears anywhere, fix it before spending on ads. Otherwise you're optimizing toward noise.

Cheat sheet

  • Shopify is the one financial truth
  • Measure confirmed outcomes, not clicks
  • One owner per event per destination
  • Browser and server are different tools, and you need both
  • Attribution isn't causation
  • Lowercase UTMs, never on internal links
  • No raw email or phone in analytics
  • More tags mean worse data and a slower site
  • Test on iPhone Safari and the Instagram in-app browser