What actually syncs in a klaviyo google ads integration
A klaviyo google ads integration syncs one thing: list or segment membership, carried across as hashed email addresses and phone numbers that Google Ads matches against its own signed-in user records. That’s the entire payload. Klaviyo exports the identifiers that put someone inside a defined segment — a VIP list, a lapsed-purchaser segment, an active-cart flow’s population — and Google Ads’ Customer Match feature turns that list into an audience it can target or exclude in a campaign.
The hashing happens before anything leaves Klaviyo. Email and phone number are converted to SHA256 hashes, which is why Google Ads never receives a plaintext identifier and why the match itself depends on formatting matching exactly — a phone number with or without a country code, or an email with different capitalisation, hashes to a different string and simply won’t match, with no error surfaced to tell you why.
Once matched, the only thing that carries across is presence: is this hashed identifier a member of the audience, yes or no. Google Ads uses that membership to include or exclude the matched person from a campaign’s targeting. Nothing about why they’re in the segment, how engaged they are with Klaviyo email, or what stage of a flow they’re in travels with the match — Customer Match is a targeting mechanism, not a data pipe for behavioural context.
What doesn’t sync — and shouldn’t be assumed to
Send history and engagement data stay in Klaviyo. Google Ads has no field for open rate, click behaviour, flow status, or which specific email triggered inclusion in a segment — it only ever receives a binary membership signal for a hashed identifier. If a campaign brief assumes Google Ads can target “people who opened three emails but haven’t clicked,” that logic has to be built as the segment definition inside Klaviyo before export; it cannot be expressed on the Google Ads side.
Real-time behavioural state doesn’t travel either. A customer who adds an item to cart at 2pm doesn’t appear in a Customer Match audience at 2:01pm — the export happens on whatever cadence the integration or scheduled job runs. That gap is the mechanism behind sync lag, one of the three failure modes this article names next.
Consent and communication preferences don’t sync as metadata. Klaviyo tracks whether someone has opted in to email, SMS, or both, and under what basis — but Customer Match doesn’t receive a “this person opted in to marketing” flag alongside the hashed identifier. The obligation to have a lawful basis for using that person’s data in Customer Match sits with the advertiser and the platform’s own policies, not with anything the sync itself carries across. That distinction is the root of consent and policy mismatches, the third of the three things that break in this integration.
Product or order data doesn’t move through this pipe at all. If the goal is dynamic remarketing showing the exact SKU someone viewed or abandoned, that’s a separate integration — typically a product feed and the Google Ads or Merchant Center conversion tracking setup — layered on top of, not delivered by, the Klaviyo Customer Match sync.
The eligibility Google places on Customer Match before any of this works
Customer Match isn’t available to every Google Ads account by default, and building the Klaviyo side of the integration before confirming eligibility is a common way to lose a week. Google requires the account to be in good standing and to have a history of policy compliance before Customer Match activates — the specific criteria and any account-history thresholds are Google’s to set and change, so confirm the current requirement directly in Google Ads’ Customer Match policy centre rather than relying on a remembered rule. An account that fails eligibility will still accept a Klaviyo-sourced audience upload; it simply never serves against it, which looks identical to a sync problem until you check eligibility specifically.
Separately, Google requires that the personal data used in a Customer Match audience was collected with adequate disclosure and consent for the use case it’s applied to. That’s a policy requirement layered on top of the technical eligibility gate, and it’s the reason a Klaviyo-collected list — perfectly compliant for email marketing — can still be an invalid input for a Customer Match audience if the collection notice or consent basis doesn’t meet Google’s current policy for that specific ad use. Review that policy directly before assuming Klaviyo’s own privacy settings satisfy it; the two systems are governed by different rules that happen to touch the same data.
The three things that break in a klaviyo google ads integration
These three failure modes recur across nearly every Klaviyo-to-Google-Ads setup, independent of which specific Klaviyo integration or export method is in use, because they come from the mechanics of how the two systems are built to talk to each other.
Low match rates
Low match rates are the quietest failure because nothing errors — a segment of several thousand profiles simply produces a Customer Match audience that’s a fraction of that size, with no message explaining the gap. The cause is almost always identifier quality: Google Ads can only match a hashed email or phone number against an identifier tied to a signed-in Google account, so a secondary email address, an old phone number a customer no longer uses, or an unformatted number missing its country code all drop silently out of the match — hashed correctly, uploaded correctly, and still unmatched.
Match rate loss compounds when a Klaviyo segment is built on loosely collected data — a pop-up-captured email with no purchase or verified engagement behind it — versus a segment built on checkout-verified identifiers, which tend to match at a meaningfully higher rate because they were entered correctly under purchase intent rather than typed quickly into a discount pop-up.
The fix: build the source segment in Klaviyo on the most-verified identifier available — a checkout or account email over a pop-up-captured one — and check the matched-audience size Google Ads reports against the segment size in Klaviyo as a standing health metric, not a one-time check at setup. A sustained gap between the two is the earliest signal that identifier quality, not the integration itself, needs attention.
Sync lag
Sync lag is the gap between a Klaviyo segment’s membership changing and the Google Ads Customer Match audience reflecting that change, and it’s a mechanism problem, not a bug: no sync between two systems on different schedules is instantaneous, and Google Ads’ own audience refresh adds a second layer of delay on top of whatever cadence the Klaviyo side runs on. The result is a customer who completes a purchase, exits the segment that defined them as an active prospect, and still sees prospecting ads targeting that exact segment for a window of time the two systems’ refresh schedules leave open.
Sync lag matters most for time-sensitive states — an active cart, a just-completed purchase, a recent support interaction — and matters far less for slow-moving segments like a broad VIP list that changes membership rarely. The failure isn’t the lag existing; it’s building the Google Ads exclusion logic as if the sync were instant when the underlying segment is volatile.
The fix: match the audience’s refresh cadence to how fast the underlying segment actually changes, tightening it specifically for volatile, time-sensitive segments, and treat any Customer Match audience used for post-purchase exclusion as needing the shortest refresh interval the integration supports. For a segment that changes constantly, a scheduled export running once a day is the wrong tool regardless of how well everything else is configured.
Consent and policy mismatches
Consent and policy mismatches are the failure mode most likely to get an audience rejected or a campaign restricted rather than just underperforming, because it’s a compliance gate rather than a data-quality problem. Klaviyo’s consent settings govern whether a person can be emailed or texted; they don’t automatically satisfy Google Ads’ separate requirement that data used in Customer Match was collected with disclosure adequate for that specific advertising use. A segment built entirely from opted-in email subscribers can still be a policy problem for Customer Match if the collection notice shown at signup never mentioned that the data might be used for ad targeting on another platform.
Regional consent frameworks compound the mismatch further — GDPR, CCPA and similar regimes each set their own bar for what counts as adequate disclosure and lawful basis for this kind of data use, and the specific requirement depends on where the customer is and which framework applies. Confirm the current requirement with counsel rather than treating a Klaviyo opt-in checkbox as sufficient across every market a Customer Match audience might include.
The fix: audit the actual disclosure language shown at the point Klaviyo collected the email or phone number against Google Ads’ current Customer Match policy, before the first sync runs — not after an audience gets flagged. Where a segment spans multiple regions, build the consent and disclosure check per region rather than assuming one policy review covers every customer in the list.
Suppression and lookalike-style targeting, done through the same sync
The most reliable use of this integration isn’t acquisition — it’s suppression. A Customer Match audience built from anyone currently inside an active Klaviyo flow, or anyone who purchased inside a recent window, gives Google Ads an exclusion list that stops prospecting spend from chasing someone your lifecycle programme is already talking to. That single use case tends to pay for the integration’s setup cost on its own, because it removes wasted impressions rather than trying to create new ones.
Lookalike-style expansion works differently than it used to. Google retired Similar Audiences, its dedicated lookalike product, in 2023; a Customer Match audience used for expansion today runs through mechanisms like optimized targeting or as an audience signal inside a Performance Max campaign, which let Google’s own systems find people who resemble the seed audience without a separate lookalike-list product sitting in between. Confirm which expansion option your account currently has access to and how it’s configured before assuming a specific lookalike behaviour applies — the underlying mechanics have changed more than once, and Google Ads’ own documentation is the source to check, not memory of how it used to work.
Where this integration belongs on your team
None of these three failure modes is a reason to skip Customer Match — they’re the reason to treat a klaviyo google ads integration as lifecycle work, not a one-time connection between two dashboards. The segment logic that defines who’s in an audience, when it should exclude someone, and how fast that exclusion needs to reach a live campaign is the same decision-making that governs your flows, which is exactly the ground our lifecycle flows service covers for brands operating at the volume where a stale exclusion list actually costs money.
If you’re trying to size that cost before committing to the fix, the flow revenue calculator gives a starting estimate of what a flow’s audience is worth, which is a useful proxy for what a badly synced exclusion list is quietly wasting on the paid media side. And if segment quality itself is the upstream problem — profiles that never made it into Klaviyo cleanly from your store — see why Klaviyo isn’t syncing Shopify orders for the mechanism behind that specific gap.
A low match rate or a laggy exclusion list is, ultimately, a measurement problem as much as a sync problem: it stays invisible unless someone is checking matched-audience size against segment size on a standing basis, the same discipline that shows up when Shopify’s native analytics can’t answer where paid spend actually went. Brands operating past the point where a single person can eyeball every dashboard are exactly who this integration work is built for.
Sources
No external figures are quoted; this article is written from how Klaviyo’s Google Ads integration, Google Ads Customer Match, and their hashing and consent requirements are structured and operated.