Turn off old Klaviyo tracking
Connecting accounts · Klaviyo

Turn off old Klaviyo tracking

Klaviyo's Shopify app stays installed. It's how Klaviyo syncs your orders, customers and products. What you change is one setting in PixelRelay, plus any old Klaviyo tracking code someone pasted into your store, so the same events don't land in Klaviyo twice.

Do it in this order

Do it in one sitting. It's the same order as Guided setup → Switch & enable:

  1. Connect Klaviyo in PixelRelay, and finish the store check and plan approval if you haven't yet.
  2. Under Switch over Klaviyo, work through each item below (or check you don't use it) and click Mark as done.
  3. Click Enable Klaviyo tracking right away.
  4. Watch Event status on the same screen for the first event, then check it shows up in Klaviyo under Analytics → Metrics.
  5. If the store check still finds old tracking on your storefront, remove it and click Check my store again.

Klaviyo's Shopify app

Klaviyo's app already records Started Checkout, Placed Order and Refunded Order straight from Shopify. Tell PixelRelay, so it doesn't send those into the same metrics:

  1. In PixelRelay, go to Connections → Klaviyo → Edit (or do this while connecting).
  2. Tick Klaviyo's native Shopify app is installed.
  3. Under Events native also captures, keep Send a separate PixelRelay copy (recommended).
  4. Click Save.

With the separate copy, those three arrive as PixelRelay Started Checkout, PixelRelay Placed Order and PixelRelay Refunded Order. They don't touch your revenue reports or trigger your existing flows, and you can compare PixelRelay's count with Klaviyo's. Everything else, like Viewed Product and Added to Cart, goes out as normal.

Would rather not send those three at all? Pick Don't send them. More on the trade-off in How Klaviyo tracking works.

Theme code

PixelRelay loads klaviyo.js with your Site ID, and skips it if it's already on the page, so you won't get two copies of the script. What does double up is old hand-pasted tracking code, because PixelRelay and Klaviyo's app embed already send those events.

  1. Go to Online Store → Themes. On your current theme, click … → Duplicate first, so you have a backup.
  2. On the current theme, click … → Edit code and open layout/theme.liquid. Check snippets/ too.
  3. Search (Ctrl+F or Cmd+F) for Added to Cart and Viewed Product.
  4. Delete that <script> block and Save. Klaviyo's own help says the same for its old Added to Cart snippet.

The old snippets look like this:

_learnq.push(['track', 'Added to Cart', cart]);
_learnq.push(['track', 'Viewed Product', item]);

These can also sit in a Custom Liquid block on your product page (theme editor). Remove them there the same way. Not comfortable editing code? Ask whoever added it.

Google Tag Manager

If a GTM tag sends Klaviyo track calls (a Custom HTML tag with _learnq or klaviyo.push), open it, click ⋮ → Pause, Save, then Submit and Publish the container.

Custom pixels

Go to Settings → Customer events and click … → Disconnect on any pixel that sends Klaviyo events. Leave PixelRelay's own pixel connected.

Other tracking apps

Elevar, Littledata, Analyzify and similar apps can send events to Klaviyo too. Turn Klaviyo off in that app.

Check again

  • Guided setup shows what the latest store check found. Klaviyo's own script from its app embed is expected, and it shows on the Klaviyo app item.
  • The store check can't see custom pixels or anything sent from servers, so check those yourself.

Switch back

  • To stop PixelRelay sending to Klaviyo, go to Connections → Klaviyo → Disconnect. That also stops PixelRelay loading Klaviyo's script, so if your Klaviyo forms relied on it, turn on Klaviyo's own app embed in your theme editor.
  • Put back any theme code or GTM tag you removed, if you still want it.

Need help? Email [email protected]