Klaviyo UTM tracking: set it up so GA4 shows email and SMS correctly
Turn on Klaviyo UTM tracking, check the utm_medium value your account saved, and see which GA4 channel Klaviyo email and SMS links land in.
On this page
UTM parameters are short codes added to the end of a link that help analytics tools see where visitors came from. Klaviyo (opens in a new tab) adds them to the links in your messages once UTM tracking is on under Settings > Other > UTM tracking. For GA4 (Google Analytics 4) to sort email and SMS into its Email and SMS channels (opens in a new tab), set utm_medium to Klaviyo's Message type value, which writes utm_medium=email on email links and utm_medium=sms on text links. If your account customised and saved its UTM settings before June 2, 2025, check that value first: those accounts still show the previous defaults.
Turn on UTM tracking for the whole account
The account-wide settings (opens in a new tab) live here:
- Click your account name in the bottom left of the screen.
- Choose Settings, then Other > UTM tracking.
- Use the toggle next to each parameter to include it, and pick a Campaign Value and a Flow Value for each one.
- Turn on Automatically add UTM parameters to links so the settings apply to every future message.
Two parameters, utm_source and utm_medium, are always on. Most parameters can take a dynamic, static or custom value, and you can add up to 5 fully custom parameters.
Build a campaign link
Create a UTM link with the free builder. No account needed.
Check the medium value first
On June 2, 2025, Klaviyo (opens in a new tab) changed the default utm_medium values from campaign and flow to Message type, which covers email, SMS, WhatsApp and push. Accounts that customised and saved their UTM settings before that date still show the old values. Klaviyo's setup article (opens in a new tab) recommends Message type if you use more than one channel, for example email and text messages.
With Message type, links in SMS messages get utm_medium=sms, and links in emails get utm_medium=email.
That matters because GA4's default channel rules (opens in a new tab) sort traffic by source and medium:
| Klaviyo medium value | GA4 rule it meets |
|---|---|
email |
Email: source or medium is email, e-mail, e_mail or e mail |
sms |
SMS: source or medium exactly matches sms |
campaign or flow |
Neither the Email nor the SMS medium condition |
When no channel rule matches, GA4 reports the session as Unassigned. If your saved medium still reads campaign or flow, switch it to Message type. Next: GA4 default channel group and UTM source vs medium.
Turn it on or customise it for one campaign or flow
For a campaign (opens in a new tab), open an unsent campaign and, in the Tracking section of Step 1: Recipients, turn on Include tracking parameters. To use different values for that campaign, turn on Customize tracking parameters.
For a flow message, select the message in the flow builder and, under Settings, check Enable UTM Tracking. To use different values for that message, check Use custom tracking parameters.
With tracking on and no customisation, links follow your account's default settings. Later changes to the account settings (opens in a new tab) do not reach messages with customised parameters. A scheduled campaign has to be paused before its UTM parameters can change, and UTM parameters cannot be edited once a message is sent.
Four things that change what GA4 receives
- Links need a protocol. Email, text and WhatsApp links need
http://orhttps://to be tracked (opens in a new tab). - Keep SMS link shortening on. In text messages, Automatically shorten links must stay enabled to use UTM parameters.
- Product blocks and data feeds. Dynamic parameters (opens in a new tab) cannot be applied to them.
- List or segment names as the source. If
utm_sourceuses list or segment names, each recipient's link carries the list or segment they are part of when the campaign is sent. A recipient in more than one of the campaign's lists or segments gets only one: whichever was selected first in the campaign wizard.
Why Klaviyo and GA4 report different conversions
GA4 tracks conversions from link clicks, while Klaviyo uses data from your own database, such as your store, so the two are likely not to match exactly (opens in a new tab). A subscriber who reads an email, does not click, and later visits your store is a conversion GA4 does not record.
For email A/B tests, Klaviyo adds a variation parameter to its links automatically when UTM tracking is on. To compare variations in GA4, create a custom parameter for the variation in GA4 before the test.
Keep the values consistent and check a link
Google's campaign URL guidance (opens in a new tab) treats parameter values as case sensitive, so utm_source=google and utm_source=Google are different sources, and recommends lowercase as a standard. GA4's channel definitions (opens in a new tab) are not case sensitive; the parameter values themselves are. Pick one spelling for each source and campaign value and use it in Klaviyo and everywhere else; for a shared list, see UTM naming conventions.
To test a setting, send yourself a test message, copy one tagged link and paste it into the UTM link checker. It shows what is wrong with the parameters, which GA4 default channel the link should land in, and a fixed link to copy; nothing you paste leaves your browser. The checker reads the link text only and does not check that your analytics tag is installed. For links you share outside Klaviyo, the free UTM builder lowercases values and replaces spaces with hyphens as you type. To find the traffic afterwards, see how to track UTM campaigns in GA4, and if it still lands in Unassigned, the Unassigned traffic guide.
Sources
Tools for this
-
UTM link checker
Check a tagged link and see which GA4 channel it lands in.
-
Free UTM builder
Build a link with your campaign parameters.
Frequently asked questions
Where are Klaviyo's UTM settings?
Click your account name in the bottom left, choose Settings, then Other > UTM tracking. Individual campaigns and flows have their own tracking switches.
Why does Klaviyo traffic show as Unassigned in GA4?
Unassigned means no GA4 channel rule matched. Check that utm_medium is email for emails and sms for texts, which is what Klaviyo's Message type value writes.
Why don't Klaviyo and GA4 conversions match?
GA4 tracks conversions from link clicks, while Klaviyo uses data from your own database, such as your store, so GA4 does not record a subscriber who reads an email, does not click, and later visits your store.
Build a campaign link
Create a UTM link with the free builder. No account needed.