Taboola Conversion Tracking Setup
Four ways exist to install the Taboola pixel and only two are worth using. This covers the fast Realize auto-connect route and the recommended GTM template route, plus the conversion configuration that most setups get wrong — including the one field mismatch that silently breaks everything.
In this guide
There are four ways to install the Taboola pixel and only two of them are worth using. This guide covers the Realize auto-connect method (fastest, five minutes) and the manual GTM template method (more control, fifteen minutes), then the conversion setup that most people get wrong.
One thing before you start: Taboola's advertiser platform is now called Realize. Most tracking guides still describe the old Backstage interface, and the navigation has changed. Everything below reflects the current UI.
The mistake that breaks most setups
The Event Name field in Realize and the Event Name in your GTM tag must be character-identical. Not similar — identical. If Realize expects lead and GTM sends Lead, Taboola receives nothing and you will spend a week wondering why conversions show zero.
Which method to use
| Method | Time | Control | Use when |
|---|---|---|---|
| Realize auto-connect | ~5 min | Low | You have GTM publish rights and want it done fast |
| GTM template | ~15 min | High | Recommended for most advertisers |
| GTM Custom HTML | ~20 min | Full | Template unavailable or you need custom logic |
| Manual on-page | ~30 min | Full | No GTM, developer access only |
What you need before starting
- A Realize advertiser account with tracking permissions
- Google Tag Manager already installed on your site — check by viewing page source and searching for
GTM- - GTM publish permissions, not just edit
- Your conversion pages identified — thank-you page URL, or the event that fires on success
Step 1: Find your Taboola Account ID
Everything else depends on this number, and it is not the same as your seat ID or your login email.
- Open Realize and sign in
- Top left — select the account you will use to track conversions. This matters if you manage several; conversions belong to the account you pick here
- Left sidebar → click Tracking
- Your numeric Account ID appears at the top left of the Tracking screen
- Copy it somewhere — you will paste it into GTM shortly
Network accounts
If you run a network account with sub-accounts, create conversions at the network level. All sub-accounts can then use those conversion rules and audiences. Creating them per sub-account means rebuilding everything each time you add one.
Step 2A: The fast route — let Realize build the tag
Realize can create the GTM tag for you through a Google OAuth connection. No tag configuration, no copy-pasting code.
- In Realize, go to Tracking (left sidebar)
- Select Google Tag Manager as the setup method, click Continue
- Click Click To Connect
- A Sign in with Google popup appears — sign in with the account that has GTM access
- Grant Realize permission to update GTM on your behalf
- Select the correct Account, Container and Workspace
- Click Save, or Save & Create Conversion to continue straight into conversion setup
- Confirm the success message appears in Realize
GTM now contains a Taboola Pixel tag firing on all pages. It is not live yet — you still have to publish the container in GTM. This trips people up constantly.
Why you might not want this method
Granting a third party write access to your GTM container is a real permission. If your GTM holds tags for multiple clients or contains sensitive configuration, use the template method instead and keep the connection out of it.
Step 2B: The recommended route — GTM template
More steps, but you keep full control and no external service touches your container.
Add the template
- Open Google Tag Manager and select your container (note the
GTM-XXXXXXXXID on the right) - Select a workspace — Default Workspace is fine
- Left navigation → Templates
- In the Tag Templates section, click Search Gallery
- Search for Taboola Pixel
- Click Add to workspace, then confirm with Add
Two different templates exist
There is a Taboola Pixel template and an E-commerce Taboola pixel template. The e-commerce one is for DCO (dynamic creative) and needs a different Advertiser ID supplied by a DCO account manager — not your normal Account ID. For standard conversion tracking, use the plain Taboola Pixel template.
Create the base pixel tag
- Left navigation → Tags → New (top right)
- Click the Tag Configuration card
- Select the Taboola Pixel template you just added
- Paste your numeric Taboola Account ID
- Confirm Pixel Type is set to Base Pixel
- Click the Triggering card → select All Pages
- Name it something obvious —
Taboola — Base Pixel - Click Save
The base pixel tracks page views across the entire site. You create it once. Every conversion event you add later depends on it being present, so get this working before moving on.
Alternative: Custom HTML
If the template is unavailable, Realize gives you a raw snippet. In Realize go to Tracking, select Manually as the setup method, click Continue, then hover the code block and click COPY TO CLIPBOARD.
In GTM: Tags → New → Tag Configuration → under Custom, select Custom HTML. Paste the snippet, set the trigger to All Pages, save.
Step 3: Create the conversion in Realize
The pixel collects data. A conversion rule tells Taboola which of that data counts as success. You need both.
- Realize → Tracking (left sidebar)
- Click + New Conversion (far right)
- Select Create conversions using code → Continue
- Give the conversion a clear name —
Lead Form Submit, notConversion 1 - Set the Event Name. This is the critical field. Use a lowercase standard event such as
leadormake_purchase - Decide on Include in total value. Leave it ticked for revenue-generating events; clear it for soft conversions you do not want inflating reported value
- Skip the Event Code section — GTM handles that
- Save
Standard event names
| Event name | Use for | Parameters |
|---|---|---|
lead | Form submission, enquiry | — |
complete_registration | Account signup | — |
make_purchase | Completed order | orderid, revenue, currency |
add_to_cart | Cart addition | revenue, currency, quantity |
start_checkout | Checkout begun | revenue, currency |
add_payment_info | Payment details entered | — |
view_content | Key page view | — |
search | On-site search | — |
app_install | App install | — |
custom | Anything else | custom |
Include your most important conversions
Taboola's algorithm optimises toward the conversions you define. If you only track a soft event like view_content, it will find people who view content and never buy. Define the event that actually represents revenue, and make sure it fires reliably.
Step 4: Build the event tag in GTM
Now connect the conversion you just defined to an actual user action.
Create the trigger
For a thank-you page conversion:
- GTM → Triggers → New
- Trigger Configuration → Page View
- Select Some Page Views
- Condition:
Page URL·contains·/thank-you - Name it
Trigger — Thank You Pageand save
For a form submission without a page change, use a Custom Event trigger matching whatever your site pushes to the data layer, or a Form Submission trigger with appropriate conditions.
Create the event tag
- GTM → Tags → New
- Tag Configuration → Taboola Pixel template
- Enter the same Account ID
- Set Pixel Type to Event Pixel
- Enter the Event Name — exactly as typed in Realize
- For purchases, map
revenue,currencyandorderidto your data layer variables - Triggering → select the trigger you just built
- Name it
Taboola — Lead Eventand save
Check this before you go further
Open Realize and GTM side by side and compare the Event Name character by character. Case, spacing, underscores. This single mismatch accounts for more broken Taboola tracking than every other cause combined.
Passing revenue values
For purchase events, sending the order value lets Taboola optimise toward revenue rather than order count — which matters enormously if your order values vary.
| Parameter | What it holds | Example |
|---|---|---|
revenue | Order total, numeric only | 2499.00 |
currency | ISO code | INR |
orderid | Unique order reference | ORD-10482 |
quantity | Item count | 3 |
Send revenue as a plain number. Currency symbols, commas or spaces cause the value to be dropped silently — the conversion still registers, the value shows as zero, and nothing warns you.
The orderid field also does deduplication work. Without it, a customer refreshing the thank-you page can register multiple conversions for one sale.
Step 5: Test before publishing
Do not skip this. A tag that looks correct in the interface fails often enough to be worth five minutes.
- In GTM, click Preview (top right)
- Enter your site URL and connect — Tag Assistant opens in a new tab
- Load a normal page. Confirm Taboola — Base Pixel appears under Tags Fired
- Complete a real conversion — submit the form, place a test order
- On the thank-you page, confirm Taboola — Lead Event fires
- Click the tag to inspect it. Check the Account ID, the Event Name, and that revenue values are populated rather than
undefined - Return to GTM and click Submit → Publish
Publishing is a separate step
Saving a tag does not make it live. Neither does Preview mode. You must click Submit and then Publish in GTM. A surprising number of "the pixel isn't working" problems are simply an unpublished container.
Verify in Realize
Go back to Realize → Tracking. Your conversion should show recent activity. Allow up to a few hours for the first events to appear — it is not instant, and concluding it is broken after ten minutes is premature.
The codeless alternative
If you only need URL-based conversions and do not want to build event tags, Realize supports codeless conversions. You still need the base pixel installed — that part is unavoidable — but conversions can then be defined by URL rule rather than by event.
In Realize → Tracking → + New Conversion, choose the URL-based option and define a rule such as URL contains /thank-you.
| Codeless (URL) | Event pixel | |
|---|---|---|
| Setup effort | Minimal | Moderate |
| Revenue values | No | Yes |
| Non-page-change events | No | Yes |
| Deduplication | Weak | Via orderid |
| Good for | Simple lead forms | Ecommerce, anything with value |
Server-to-server, and why you want both
Taboola supports server-to-server conversion reporting alongside the pixel, and their own documentation recommends dual tracking — running both — for more complete data.
The reason is straightforward. Client-side pixels are lost to ad blockers, browser privacy controls, ITP restrictions and users closing the tab before the tag fires. Server-side reporting does not have those failure modes.
Use S2S when you need better coverage, when conversions happen off the website (a phone call, a CRM stage change), or when you are tracking app installs and in-app events through an MMP.
Deduplication matters here
If both the pixel and your server report the same purchase, you will double-count unless the same orderid is sent through both paths. Agree the identifier before you switch S2S on, not after you notice conversions have doubled.
Troubleshooting
| Symptom | Most likely cause | Fix |
|---|---|---|
| Zero conversions recorded | Event Name mismatch | Compare Realize and GTM character by character |
| Tag fires in Preview but nothing live | Container not published | GTM → Submit → Publish |
| Base pixel absent everywhere | GTM not on the page | View source, search for GTM- |
| Conversions but zero value | Revenue sent as text | Strip symbols and commas; send a plain number |
| Conversion count too high | Page refresh re-firing | Send orderid; set tag to fire once per page |
| Wrong account receiving data | Wrong Account ID | Re-copy from Realize → Tracking, top left |
| Works on desktop, not mobile | Consent banner blocking | Check consent mode and tag sequencing |
| Numbers below analytics | Normal | Ad blockers and ITP; consider S2S dual tracking |
What the numbers will look like
Taboola-reported conversions will not match your analytics or your CRM, and that is expected rather than a fault. Attribution models differ, view-through conversions are counted differently, and client-side loss is real.
Pick one source as your source of truth — usually your CRM, because that is where money is — and use Taboola's numbers for optimisation decisions rather than for reporting to a client. A 10% to 30% gap between platform-reported and CRM-confirmed conversions is normal on native.
What matters is that the algorithm receives a consistent, reliable signal. A slightly undercounted conversion that always fires correctly optimises better than a perfectly counted one that fires intermittently.
Final checklist
| Check | Where |
|---|---|
| Account ID copied correctly | Realize → Tracking, top left |
| Base pixel fires on all pages | GTM Preview |
| Conversion rule created | Realize → Tracking |
| Event Name identical in both systems | Realize and GTM |
| Event tag fires on conversion | GTM Preview |
| Revenue passes as a plain number | Tag Assistant |
| orderid sent for deduplication | Tag Assistant |
| Container published | GTM → Submit |
| Activity visible in Realize | Realize → Tracking |
| Most valuable conversion is the one being optimised toward | Realize |
Tracking working? Plan the campaign next
Our free campaign planner builds strategy, policy-checked headlines, creative briefs and the funnel, then the budget calculator checks your spend against platform minimums.
Open the free tools → Book a strategy callTaboola renamed its advertiser platform to Realize, and the interface continues to change. Navigation paths reflect the platform as of September 2026 — if a menu has moved, the underlying concepts still apply.