Klaviyo + GA4 Attribution Setup for Shopify (2026 Guide)
Email is your highest-ROI channel. Klaviyo shows you open rates and clicks. GA4 shows you what actually converts. This guide connects the two so you can see which email campaigns drive revenue, not just engagement metrics.
Why Klaviyo + GA4 Integration Matters
Klaviyo tells you:
- How many people opened a campaign (35-50% open rate is normal)
- How many clicked a link (8-15% click rate is normal)
- How many unsubscribed
Klaviyo doesn’t tell you:
- How many actually bought after clicking
- What the customer’s full journey was (was email the first touch or the final touch?)
- Which segments convert best
- True ROI per campaign (you can’t compare email spend to revenue without GA4)
GA4 fills this gap. When Klaviyo sends traffic to your Shopify store with proper UTM tracking, GA4 logs it. You can then track that visitor through their full journey: email → product page → cart → checkout → purchase.
Prerequisites
Before you start, confirm you have:
- Shopify connected to GA4 — Go to Shopify Admin → Analytics Settings → Google Analytics. Ensure your GA4 property is active.
- Klaviyo connected to Shopify — Standard Shopify+Klaviyo integration (this is default if you’re using Klaviyo).
- GA4 admin access — You need to be an Editor or Admin in your GA4 property.
- Sufficient traffic — At least 50-100 email-driven transactions per month to see meaningful data (smaller volumes are too noisy).
Step 1: Verify Shopify’s GA4 Integration
The heavy lifting is done by Shopify. Once Shopify is connected to GA4, it automatically sends ecommerce events including:
view_itemadd_to_cartbegin_checkoutpurchase(with revenue, product names, etc.)
Check that this is working:
- Open GA4 → Reports → Life Cycle → Acquisition
- Look for
source/medium=shopify.com/referralordirect - If you see Shopify traffic, the integration is live.
If you don’t see Shopify traffic, your GA4 connection is broken:
- Go to Shopify Admin → Settings → Analytics → Google Analytics
- Click “Manage” next to your GA4 property
- Confirm the property ID matches your actual GA4 property
- Re-authenticate if needed
Step 2: Ensure Klaviyo Sends Proper UTM Parameters
When Klaviyo sends an email, it appends UTM parameters to links. This tells GA4 that the traffic came from Klaviyo.
Check that Klaviyo’s UTM tracking is enabled:
- Klaviyo Admin → Settings → Analytics
- Confirm “Google Analytics Tracking” is ON
- Verify the UTM source is set to
emailand UTM medium is set toklaviyo(oremail— varies by version)
If UTM tracking is off, Klaviyo traffic won’t appear in GA4’s source/medium reports.
Klaviyo’s default UTM structure:
utm_source=email
utm_medium=klaviyo
utm_campaign=My_Campaign_Name
This is sufficient. Don’t overthink custom UTM tagging at this stage.
Step 3: Set Up Custom Dimensions in GA4 (Optional but Recommended)
GA4 will track Klaviyo email generically as source/medium = email/klaviyo. To answer which specific campaign drove the most revenue, you need custom dimensions.
Create a custom dimension for Campaign Name:
- GA4 → Admin → Data display → Custom definitions → Custom dimensions
- Click “Create custom dimension”
- Set:
- Dimension name:
email_campaign - Scope: Event
- Event parameter:
utm_campaign
- Dimension name:
- Save
Now GA4 will log utm_campaign (e.g., “Welcome_Series”, “Summer_Sale”) as a custom dimension you can filter by.
Create a custom dimension for Email Segment (if using Klaviyo segments):
This is more advanced. You’d need Klaviyo to append a custom parameter to each email link, then create a custom dimension in GA4 to capture it.
For now, skip this unless you’re a 7-figure+ brand where segment-level attribution ROI matters.
Step 4: Build Custom Reports in GA4
Now you can see which campaigns convert.
Report 1: Email Campaign Revenue
- GA4 → Reports → Acquisition → Traffic source
- Add a secondary dimension:
email_campaign - Filter:
source=emailANDmedium=klaviyo - Sort by:
Purchase Revenue(descending)
This shows: Campaign Name | Sessions | Conversions | Revenue
Report 2: Email Campaign Conversion Rate
- GA4 → Explore → Create blank exploration
- Dimensions:
email_campaign,source/medium - Metrics:
Sessions,Conversions,Conversion Rate - Filter:
source=email,medium=klaviyo - Sort by:
Conversion Rate(descending)
This reveals which campaigns have the highest % of email recipients actually purchasing (not just clicking).
Report 3: Email Attribution Window (Touch Analysis)
Email’s true value includes assisted conversions (where email was a touch but not the final click).
- GA4 → Admin → Data display → Lookback window
- Change from 7-day default to 30-day
- Re-run your revenue reports
This widens GA4’s window to capture conversions that happen 30 days after the email click (common for subscription or high-AOV products).
Step 5: Connect Klaviyo Data for Deeper Insights
At scale (7-figure+ annual revenue), Klaviyo’s native GA4 connector unlocks revenue attribution directly in Klaviyo.
Klaviyo’s GA4 Connector includes:
- Revenue per campaign (not just clicks)
- Unsubscribe rate correlated with spend
- LTV segmentation based on email channel
- Multi-touch attribution
To enable:
- Klaviyo Admin → Integrations → Google Analytics 4
- Click “Activate”
- Authenticate your GA4 property
- Klaviyo will request read access to your GA4 data
Once enabled, Klaviyo will show revenue metrics for each campaign in the Klaviyo dashboard (Analytics section).
Cost: This is a premium feature. Check Klaviyo’s pricing tier.
Common Setup Mistakes to Avoid
| Mistake | Impact | Fix |
|---|---|---|
| GA4 not connected to Shopify | Zero email attribution in GA4 | Verify in Shopify Admin → Settings → Analytics |
| Klaviyo UTM tracking disabled | Email traffic appears as “direct” | Enable Google Analytics in Klaviyo settings |
| Not using GA4’s 30-day window | Under-counting delayed conversions | Extend lookback window in GA4 Admin |
| Mixing Klaviyo with other email tools | Conflicting UTM parameters | Use separate GA4 custom dimensions per tool |
| Not filtering by source/medium | Counting all Shopify traffic as email | Always segment by source=email, medium=klaviyo |
Interpreting Your Results
Once set up, here’s what to expect:
- Email conversion rate: 2-5% (i.e., 2-5% of email clicks result in purchase)
- Revenue per campaign: Highly variable ($500-$50K+), depending on audience size and offer
- Attribution delay: 30-40% of email-driven conversions happen 3+ days after the click
- Assisted conversions: 15-25% of purchases involved an email touch, but not the final click
If your numbers are much lower (0.5% CVR, under $100 per campaign), your email list quality or offer may be weak. If they’re much higher (above 10% CVR), you may have a data tracking issue.
What to Do Next
- Verify Shopify → GA4 connection is live (check if you see Shopify traffic in GA4)
- Enable Klaviyo UTM tracking in Klaviyo settings
- Set up custom dimension for
email_campaignin GA4 - Build a dashboard showing revenue by campaign (use GA4 Explore)
- Wait 2-4 weeks of email sends for statistically valid data
- Review your top 5 campaigns — what’s driving the highest revenue? Double down on those themes.
For deeper email audience segmentation by ROI, consider upgrading to Klaviyo’s GA4 connector. But for most brands, Shopify + GA4 native integration is enough to optimize email strategy.
Set up email attribution for your store. Our free Conversion Rate Calculator includes email benchmarks by industry. See how your email CVR stacks up.