Skip to main content
Back to Blog

How to Track Taboola Conversions on Shopify (S2S Guide)

Track Taboola conversions on Shopify with Taboola's pixel plus server-to-server postbacks. Setup steps, event names, deduplication and fixes. Start free.

17 min read
How to Track Taboola Conversions on Shopify (S2S Guide)

Key Takeaways

  • •Shopify no longer lets you paste a Taboola pixel into the thank-you page, so browser tracking now runs through Shopify's Web Pixels, and a missing cookie banner, a checkout-bypass app or a blocked browser can hide orders from Taboola
  • •A complete setup has three layers: the Taboola Pixel app in the browser, server-to-server (S2S) postbacks keyed by the tblci click ID, and conversions in Realize whose Event Names match exactly (make_purchase for orders)
  • •Server-side delivery can only report orders that began on a Taboola click, because each postback needs the stored tblci value; orders from other channels have none and are correctly left out
  • •Per Taboola's rules, the S2S event is kept when the pixel and S2S report the same event for the same click ID, but its heuristic deduplication needs the same order ID, revenue, currency and quantity, so compare both copies on one test order
  • •Verify with Realize's Test Events, Server Events tool, then reconcile Taboola's reported purchases against Shopify orders that arrived from Taboola every month

How do you track Taboola conversions on Shopify?

Tracking Taboola conversions on Shopify means telling Taboola Realize which store orders came from its ads. You do it with a Taboola pixel that runs through Shopify's customer events, server-to-server (S2S) postbacks that return the tblci click ID with each order, and matching conversions defined in Realize.

Shopify makes this harder than most platforms, because you can no longer paste code into the thank-you page the way older tutorials describe. Shopify sunset checkout.liquid and Additional scripts on the Thank you and Order status pages on August 28, 2025, and script tags stopped running on the Order status page for non-Plus stores on August 26, 2026, according to Shopify's script tag deprecation notes. A Taboola guide that tells you to paste a pixel into "Additional scripts" is out of date. The supported route is Shopify's Web Pixels, and that is what both Taboola's official app and SignalBridge use.

This guide shows how the pieces fit together, the six steps to set them up, how to stop Taboola counting an order twice and what to check when orders go missing. We last checked Taboola's and Shopify's documentation on October 18, 2026.


What does Taboola need from every Shopify order?

Whichever tool you use, every order Taboola credits depends on the same three ingredients. Most failures trace back to one of them.

IngredientWhat it isWhere it goes wrong on Shopify
Click IDtblci, which Taboola appends to every ad URL by default. It is a long, case-sensitive stringRedirects, advertorial pages and link shorteners drop or truncate it
Event nameThe Event Name of a conversion defined in Realize, such as make_purchase, matched character for characterConfusing Event Name with Conversion Name, or start_checkout with initiate_checkout
Order valuesRevenue, currency and order ID on a purchaseDifferent values on the pixel copy and the S2S copy stop Taboola deduplicating them

The click ID matters most for the server-side half. Taboola's own guidance is that a truncated or corrupted value is ignored, and a postback without a valid click ID cannot be credited to any ad. For the postback format itself, see our Taboola server-side tracking guide and the Taboola Conversions API walkthrough.


Three ways to send Shopify orders to Taboola

There is no single switch. Merchants combine these three methods, and Taboola's conversion tracking overview recommends using both pixel and S2S when possible.

MethodWhere it runsWhat it needsWeak spot
Taboola Pixel app (official, free)The browser, through Shopify's Web Pixel APIA Realize login and matching conversionsDepends on your cookie banner settings and on shoppers' browsers
Manual custom pixelThe browser, as a Shopify custom pixelTaboola's snippet and your numeric Account IDYou maintain it. Taboola says to use it only if you cannot use the app
Server-to-server postbacksYour server or a tool such as SignalBridgeThe stored tblci, plus matching conversions in RealizeOnly click-driven orders can be reported

The pixel gives Taboola browsing signals and covers every visitor who can run it. The S2S layer sends the conversion from a server, so the delivery to Taboola does not depend on the browser, although the click ID and the checkout are still captured in the browser first. Together they cover each other's gaps, which is why the steps below set up both.


How to track Taboola conversions on Shopify (6 steps)

Most of the work is in Realize and in Shopify's privacy settings, not in code. Work through the steps in order, because the Event Names you create in step 1 are the names every later step must match.

Step 1: Create the conversions in Taboola Realize

In Realize open Tracking, click + New Conversion, choose Create conversions using code and continue. Set Conversion Type to EVENT, leave Fixed Value empty, pick the Category and confirm the Event Name. For purchases keep both Include in total conversions and Include in total value checked. Skip the Event Code section, because that is the pixel snippet you do not need here.

Taboola's guided flow for the Pixel app lists seven conversions, including Make Purchase (make_purchase), Start Checkout (start_checkout) and Product View (product_view). If your account has no conversions yet, Taboola's automated flow can create them for you.

The two methods use partly different names, so decide which set you optimize toward:

Shopify eventTaboola's pixel snippet sendsSignalBridge S2S sends
page_viewedpage_viewpage_view
product_viewedproduct_viewview_content
product_added_to_cartadd_to_cartadd_to_cart
checkout_startedstart_checkoutinitiate_checkout
payment_info_submittedNot sentadd_payment_info
checkout_completedmake_purchasemake_purchase

Taboola's snippet also sends collection_view, cart_view and search_submitted. Both sets of upper-funnel conversions can exist in Realize side by side. The one shared name is make_purchase, and that is the one Taboola can deduplicate across the two methods. If you want S2S checkout starts, create a conversion with the Event Name initiate_checkout, since Taboola's preset Start Checkout uses start_checkout.

Step 2: Install the Taboola Pixel app and connect Realize

In your Shopify admin open the Taboola Pixel app, install it, click Get Started and log in with your Realize user. Select the Realize account that will track conversions, click Connect and then Install. If the login pop-up does not appear, disable any ad blocker and reload the page, as Taboola advises.

The app starts passing Shopify's checkout events to Realize straight away. If you use a post-purchase upsell app, the setup flow offers a code snippet for an Upsell Purchase conversion, which step 4 covers.

If you cannot use the app, Taboola publishes a manual custom pixel snippet for Settings, Customer events, Add custom pixel. It needs your numeric Account ID and sends the purchase with currency, order ID and revenue.

This step is the most common reason a correctly installed pixel records nothing. Taboola's cookie banner guidance says the Pixel app uses the Shopify API to pass events, and without an appropriate cookie banner Shopify will not pass them to Taboola. Check three things:

  • If you removed Shopify's native cookie banner, install a privacy app that shows its own banner.
  • Under Settings, Customer privacy, confirm the banner is enabled for the countries you sell to.
  • If shoppers go straight from your site to Shopify checkout, enable Show cookie banner in checkout. Otherwise Shopify will not notify Taboola of any events during the checkout flow.

Consent also shapes the server-side half. SignalBridge follows Shopify's Customer Privacy status, so a shopper who has not agreed to marketing tracking is not reported to Taboola by either method. That is by design, and it means your banner settings affect both layers.

Step 4: Cover apps that bypass Shopify's checkout

Some third-party apps, such as cash on delivery (COD) and upsell apps, bypass Shopify's standard checkout. Taboola states that its pixel events are not fired for them, so those orders are invisible unless you add tracking inside the app. For Releasit COD Form & Upsells, open Settings & Integrations, then Pixels, click Add item, choose Taboola Tag and enter your Taboola Account ID. The app then submits start_checkout and make_purchase.

Post-purchase upsells need a second look. Per Shopify's documentation, when a store uses upsells the checkout_completed event fires on the first upsell offer page, and not again on the Thank you page. The purchase is therefore recorded before the shopper accepts or declines the upsell. Taboola's app handles the accepted upsell as a separate Upsell Purchase conversion, using a snippet you paste under Settings, Checkout, Post-purchase page, Additional scripts.

SignalBridge reads the checkout from the same Shopify events, so the same limit applies. Orders that never pass through Shopify's standard checkout may not produce them, and Shopify's order webhook carries no tblci. Test an order from each checkout route you run.

Step 5: Add server-to-server postbacks with SignalBridge

Connect the server-side half in three actions:

  1. In SignalBridge open your pixel's settings, choose Connect Taboola and enter the Client ID, Client Secret and Account ID from your Taboola Backstage API credentials. SignalBridge validates them before it turns the integration on.
  2. Install the SignalBridge app from the Shopify App Store and approve its permissions. It uses a Web Pixel and order webhooks, so no theme code is involved.
  3. Keep the Click ID parameter at its default, tblci. SignalBridge reads only that name, so a custom parameter in Realize means no click ID is captured.

From then on, the Web Pixel reads tblci from the landing page address and the tracking server stores it for 30 days against the shopper's Shopify visitor ID. When the order completes, SignalBridge sends a postback to Taboola with the click ID, the event name, the revenue, the currency and the order ID. SignalBridge counts only an HTTP 204 from Taboola as delivered, and it retries temporary failures from a durable queue with delays of up to six hours between attempts. Our Taboola on Shopify guide lists every parameter, and the Taboola integration page lists every event name.

If you prefer to build it yourself, a server-side Google Tag Manager container with a Taboola tag or a custom endpoint also works. They need hosting and maintenance, which our Taboola server-side tracking guide walks through.

Step 6: Test with a real click and compare the copies

Never trust a setup you have not watched work. In Realize open Tracking, Conversions, Test Events, expand Server Events, choose a campaign and generate the QR code or test link. Open it on a phone, walk through your store and place a test order. The Events Received panel should show make_purchase with the revenue and order ID you expect.

Then check three more places:

  1. In SignalBridge, the event stream should show the purchase with a tblci value and Taboola marked as delivered. A purchase with no tblci is never sent.
  2. In Realize after a day, open the purchase conversion. One purchase per order means the pixel and S2S copies matched.
  3. In Shopify, confirm the order total, currency and order ID you will compare in the next section.

How does Taboola count a Shopify order only once?

Running the pixel and S2S together is safe only if Taboola can tell the two copies are the same order. Taboola documents two rules, in its deduplication and heuristic deduplication pages:

ScenarioWhat Taboola does
Same event, same click ID, received by pixel and by S2SKeeps the S2S event and deduplicates the pixel event
Events whose order ID, revenue, currency or quantity differDoes not deduplicate them, so both are counted
Same order ID but different click IDsCounts both, because they are different journeys

The second row is the trap on Shopify. Here is what each copy sends for a purchase:

ValueTaboola's manual pixel snippetSignalBridge postback
Revenuecheckout.totalPrice.amountThe checkout total, from the same Shopify field, including shipping and tax
Currencycheckout.currencyCodeThe checkout currency
Order IDcheckout.order.idThe numeric Shopify order ID
QuantityNot sentNot sent

On paper the two line up, because both read the same three Shopify fields and neither sends a quantity. Taboola does not publish the exact payload of its Pixel app, so treat that as the thing to confirm. Place one test order and compare both copies in Realize.

A worked example, illustrative only. An order has a $80.00 subtotal, $4.50 shipping and $5.00 tax, so Shopify's checkout total is $89.50. If both copies carry revenue 89.50, currency USD and the same order ID, Realize shows one purchase of $89.50. If a pixel reported the subtotal of $80.00 instead, Taboola would see two different purchases and count $169.50 of revenue for one order. When the values cannot be made to agree, use one route for make_purchase, not both. Our guide to event deduplication explains the same principle for Meta, Google and TikTok.


Why do some Shopify orders never reach Taboola?

Work down this table before you assume the setup is broken. The first row is not a fault at all.

SymptomLikely causeFix
Only some orders reach TaboolaS2S can only report orders that began on a Taboola click, which is the only time tblci existsExpected. Orders from organic, email or other ads are correctly left out
Click-driven orders are missingA redirect, advertorial page or link shortener dropped or truncated tblciMake every hop forward the query string unchanged, then test with a fresh click
The pixel records nothing at allNo cookie banner, or no banner in checkoutApply the three checks in step 3
COD or upsell orders are missingThe app bypasses Shopify's checkout, so the Shopify events never fireAdd Taboola's tag inside the app, as in step 4
Realize shows no purchasesThe Event Name in Realize differs from the name sent, which is case sensitiveCompare the Event Name, not the Conversion Name, character by character
Checkout starts are missingRealize's preset is start_checkout while S2S sends initiate_checkoutCreate a conversion with the Event Name initiate_checkout
Revenue is higher than ShopifyA pixel reported a different amount, so Taboola kept both copiesAlign revenue, currency and order ID, as in the previous section
A visitor who blocks the pixel is never reportedThe order webhook has no tblci or consent decision, so only the browser copy can be attributedA known limit of every setup, so measure it with the monthly check below

One more limit: SignalBridge does not send refunds or cancellations to Taboola, so a refunded order stays counted in Realize. Taboola also decides attribution within the click-through and view-through windows set on each conversion, and its reporting can lag by hours.


How do you check that Taboola sees your Shopify orders?

A single test order proves the plumbing. A monthly comparison proves the coverage. Use this routine:

  1. In Shopify, count orders whose landing page carried a tblci value, or whose UTM source is your Taboola campaigns.
  2. In Realize, read the purchases reported for the same period and the same attribution window.
  3. Divide the second number by the first. A ratio near 1 means Taboola sees what you see.

Expect some difference, because the two systems use different attribution windows and clocks. What you are looking for is a stable ratio, and a sudden drop after a theme change, a new redirect app or a checkout change. Repeat the Server Events test after any of those. If your campaigns also bring assisted sales, our guide to assisted conversions shows how to give native ads credit beyond the last click.

Remember the data that feeds the optimizer. Native placements attract their share of non-human traffic, and a bidding model trained on bot conversions buys more bot traffic. Pair complete tracking with bot filtering so fake sessions never become conversion signals.


What does it cost to run both layers?

Taboola's Pixel app is free. SignalBridge plans start at $29 a month for 20,000 events, with Taboola counting as one connected platform, and every accepted event counts toward your allowance, including page views. A store that sends to Taboola, Meta and Google at once needs a plan with more than two platforms, which starts at the Growth plan at $79 a month. All plans include a 14-day free trial. See the pricing page for current limits.

Start your 14-day free trial today. No credit card required.


FAQ

Does Taboola have an official Shopify integration?

Yes. Taboola publishes a free Taboola Pixel app in the Shopify App Store. It connects to your Realize account, installs the pixel through Shopify's Web Pixel API and creates the standard conversions. Taboola also offers a manual custom pixel snippet for stores that cannot use the app.

Do I still need the Taboola Pixel app if I use server-to-server tracking?

Taboola recommends using both when possible. The pixel gives Taboola browsing signals, and S2S sends the conversion from a server, so each covers gaps in the other. Keep the app, and make sure the purchase copies carry the same order ID, revenue and currency so Taboola deduplicates them.

Why are my Taboola conversions missing on Shopify?

The usual causes are a missing cookie banner or no banner in checkout, a COD or upsell app that bypasses Shopify's checkout, an Event Name in Realize that differs from the one sent, or a click ID dropped by a redirect. The table in this guide lists the fix for each. Orders that did not start on a Taboola click are correctly absent from server-side reporting.

Will Taboola count my Shopify orders twice if I run the pixel and S2S together?

Not if the two copies match. Taboola keeps the S2S event when the same click ID reports the same event by both routes. Its heuristic deduplication requires the same order ID, revenue, currency and quantity, so confirm those on one test order in Realize.

What event names does Taboola use for Shopify?

Taboola's pixel snippet sends page_view, product_view, add_to_cart, collection_view, cart_view, search_submitted, start_checkout and make_purchase. SignalBridge sends page_view, view_content, add_to_cart, initiate_checkout, add_payment_info and make_purchase. Each name must equal an Event Name defined in Realize.

Does Shopify's Additional scripts box still work for the Taboola pixel?

No. Shopify sunset Additional scripts on the Thank you and Order status pages on August 28, 2025. Use the Taboola Pixel app, a custom pixel under Customer events, or a server-side route. The one place Taboola's own guide still mentions Additional scripts is the post-purchase upsell snippet, which you paste as Taboola instructs.

Can I track Taboola conversions on Shopify without writing code?

Yes. Taboola's Pixel app and the SignalBridge Shopify app both install from the Shopify App Store without theme edits. You still create the conversions in Realize and fix your privacy settings, and neither of those steps needs code.


Ready to recover more conversions?

Start tracking what your pixels miss. Set up in 5 minutes, no credit card required.

Start Free Trial