Klaviyo Reshape — flat feed to Google Merchant, products that match
A Klaviyo loyalty audience is limited to emails, internal to Klaviyo. Supplement that audience with conversions to Google — Global Smart Bidding, with consent — by importing Klaviyo into connected data migration funnels.
Extend that segment into the look-alike audience you buy when you place ads — built from your own list, across Google's billion-plus global channels, through the Loyalty API endpoints. You gain reach an email list cannot buy: every variant tied to the product it belongs to, permission that travels with the data, and a segment Google will bid on — held in a database you own, not rented.
How it works
- Your lists and segments are read once, read-only, and returned to you as a mirror before anything changes.
- Segments carry the query that defines them, not the people they happen to match today — so they keep working after the move.
- Your catalog is rebuilt in the shape Google Merchant reads, so every variant stays tied to the product it belongs to instead of arriving as loose rows.
What makes it different
Other migrations copy rows and hope. This one is explicit about what cannot cross: members and permission are never copied, because a membership copied on a Tuesday is only true on that Tuesday, and a permission you cannot prove cannot authorise an agent to act for a customer.
Setup checklist
Roughly 45 minutes end to end. Open a section to see its steps; tick them off as you go.
1 · Your own Xano workspace
Creating tables needs Xano's workspace-level Metadata key, which can read every record and drop any table in the workspace it belongs to. In a shared workspace that key is far too powerful to hand out. In your workspace it only ever reaches data you already own — so the boundary and the ownership line up.
- Create a Xano account and one workspace. Note the instance URL.
- Create the two tables: a list catalog, and a per-member subscription table.
- Put a unique index on the subscription table across list, member and channel — one state per member per channel, arbitrated by the constraint rather than by code.
2 · Two read-only keys
Both live in your Xano as environment variables. Nothing is pasted into a form and nothing is emailed.
- Shopify: create a custom app, grant read-only product, customer and order scopes, copy the Admin API token.
- Klaviyo: create a private key with read scopes on lists, segments and profiles only — no write anywhere.
- Store the store domain, both keys, and a pinned API revision as environment variables.
- Make one test call before going further. A key that fails here fails silently later.
3 · Server-side tagging
A browser tag needs a browser. When an agent buys on a customer's behalf there is no browser, no page view and no cookie — so anything measured client-side does not exist for that purchase.
- Create a server container in your tag manager, mapped to a subdomain you control.
- Point your analytics configuration at that subdomain.
- Turn on all four consent signals — storage for analytics, storage for ads, whether data may go to the ad platform at all, and whether it may personalise. The last two gate advertising in the EEA entirely.
- Send one test purchase and confirm the event arrives with the consent fields. An event without them looks successful and is unusable.
4 · Connect, then review
Nothing is emailed at any point. Your connection details go into the form over HTTPS, and your keys never move at all — they stay as environment variables that only your own workspace can read. Anyone who asks you to email a key has misunderstood the design.
- Enter your instance URL, workspace ID, store domain and analytics measurement ID in the connection form. None of these are secrets — your store domain and measurement ID already appear in your own page source — but they belong in a form, not a mail thread.
- Read your mirror before anything else happens: every list and segment you have, and the key each becomes. It contains no customer records at all — zero members, zero profiles — though your segment names are your own commercial detail, so treat it accordingly.
- If the mirror does not match what you expect, stop there. That is what it is for, and it has cost you nothing.
- Approve the re-consent wording before a single customer is contacted.
Under the hood
Read-only Klaviyo API on a pinned revision; Shopify GraphQL Admin for the parent relationship; Merchant productAttributes with identifiers as a list and price as an amount plus a currency; two tables with a unique index per list, member and channel.
Extend your Klaviyo segment to Google’s global audience →
What you gain, and how: your own Xano, two read-only keys, server-side measurement — then your own Klaviyo read back to you. Free, and yours whether or not you buy this.
Mint an attributed link or QR for this product — preview it free in the modal; minting unlocks with the Channel Publish add-on.