Attribution

Klaviyo attribution windows vs your analytics

Klaviyo credits a sale to an email opened or clicked in the last 5 days. Why it runs above GA4 and Shopify, what to change, and which number to report.

On this page

Klaviyo, by default, credits an order to the last email a person opened or clicked in the 5 days before it, and to the last text they clicked in 5 days or received in 12 hours (Klaviyo). GA4 and Shopify only credit email when the buying visit came from an email click. That is why Klaviyo's attributed revenue is almost always higher than what your analytics shows for email.

Neither is wrong. They answer different questions. This guide shows exactly where they differ, what to change, and which number to put in front of a client or a boss.

Klaviyo's defaults

For new accounts, Klaviyo uses a last touch model with these lookback windows (Klaviyo):

TouchWindow
Email opened5 days
Email clicked5 days
Text clicked5 days
Text delivered12 hours
Push opened24 hours

Rules that matter:

  • An open counts. A person who opened Tuesday's email, ignored it, and bought on Friday from a Google ad is a Klaviyo conversion for Tuesday's email.
  • Apple Mail Privacy Protection opens count unless you exclude them (Klaviyo). Apple Mail can load messages on its own, so many "opens" were never seen by a person. See how to track email clicks.
  • Conversions are counted on the send day, not the order day.
  • Each channel keeps its own window when a message goes out by email and text.
  • You can change the settings up to 3 times in 30 days. Changes rewrite past data too, and take up to 36 hours.

How your analytics counts email

Web analytics never sees an open. It only sees a visit, and it learns the visit came from email from the link's UTM tags. So:

  • GA4 credits email when a visit from a tagged email link leads to a key event, under its attribution model and a lookback of up to 90 days (Google). See attribution models explained.
  • Shopify credits the order's channel from the visits it recorded.
  • Neither credits an email that was opened but not clicked.

A worked example

Example numbers, made up for illustration. One week for a store sending three campaigns:

Source of the numberEmail revenueWhy
Klaviyo, default settings$18,400Orders within 5 days of any open or click, MPP opens included
Klaviyo, clicks only, MPP excluded$9,100Orders within 5 days of a click
GA4, tagged email visits$6,300Orders whose credited visit came from an email link
Store orders total$52,000Every order, once

Meta and Google will also claim some of the same orders. Add every tool's attributed revenue together and it will exceed $52,000.

Change the settings to match the question

QuestionSetting
Did this email make people buy?Clicks only, 1 to 3 days, MPP opens excluded
Which campaign or flow is best?Any setting, kept the same, comparing within Klaviyo
What did email add to the business overall?No window answers it; run a holdout (see below)

The click-based setting is closest to what GA4 shows, and the easiest to defend. Opens are a weak signal now that Apple's mail app loads mail by itself.

Which number to report

  • Inside Klaviyo, compare campaigns and flows with one fixed setting. Relative numbers are reliable even when absolute ones are generous.
  • To a client or a boss, report email revenue from clicks, and total revenue from the store, once. Label Klaviyo's figure as Klaviyo's. The client reporting guide has wording for this.
  • To decide budget, use a holdout: leave a random 10 percent of the list out of a campaign or flow for a few weeks and compare what each group spends. That measures what email caused, not what it touched. See incrementality.

Klaviyo can add UTM parameters to the links in campaigns and flows automatically, from Settings, UTM tracking (Klaviyo). Turn it on, and keep the values lowercase and steady: utm_source=klaviyo, utm_medium=email for email and sms for texts, the campaign name in utm_campaign. With utm_medium=email, GA4 files the visits under its Email channel; other values can end up in Unassigned.

Where Sporetag fits

From Sporetag's Klaviyo connector code and help, on paid plans: sends, opens, clicks and unsubscribes join each customer's profile, next to their visits and orders, so you can see whether a buyer clicked an email or only opened one. Sends and opens alone never create a customer, because mail apps open mail on their own. Sporetag writes each person's first and last source, lifetime value, orders and best send hour back to their Klaviyo profile.

Common questions

What is Klaviyo's default attribution window?

For new accounts, last touch with 5 days for email opens and clicks, 5 days for text clicks, 12 hours for text deliveries and 24 hours for push opens.

Why is Klaviyo revenue higher than GA4?

Klaviyo credits orders to emails that were opened, not only clicked, within 5 days, and Apple Mail Privacy Protection opens count unless excluded. GA4 only credits a visit that came from a tagged email link.

Should I exclude Apple Mail Privacy Protection opens in Klaviyo?

Yes for attribution. Apple Mail can load messages without the person reading them, so those opens say little about whether the email made someone buy.

Does changing Klaviyo's attribution settings change past data?

Yes. Klaviyo recalculates past and future attribution with the new settings, which can take up to 36 hours, and you can change them up to 3 times in 30 days.

Sources

Spotted something wrong or out of date? Email hello@sporetag.com and we will fix it.