Taboola Integrations | Blue Frog Docs

Taboola Integrations

Learn how to integrate Taboola Pixel with e-commerce platforms, tag managers, analytics tools, and partner platforms for enhanced native advertising campaigns.

Taboola offers multiple integration options to extend your native advertising capabilities and connect with other marketing platforms. This guide covers Taboola Pixel implementation, platform integrations, and partner connections.

Taboola Pixel Integration

The Taboola Pixel is the foundation for all Taboola integrations, enabling conversion tracking, audience building, and campaign optimization.

Standard Pixel Implementation

<script type="text/javascript">
  window._tfa = window._tfa || [];
  window._tfa.push({notify: 'event', name: 'page_view', id: YOUR_ACCOUNT_ID});
  !function (t, f, a, x) {
    if (!document.getElementById(x)) {
      t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);
    }
  }(document.createElement('script'),
  document.getElementsByTagName('script')[0],
  '//cdn.taboola.com/libtrc/unip/YOUR_ACCOUNT_ID/tfa.js',
  'tb_tfa_script');
</script>

Enhanced Pixel with User Identification

window._tfa = window._tfa || [];
window._tfa.push({
  notify: 'event',
  name: 'page_view',
  id: YOUR_ACCOUNT_ID
});

// Add user identification
window._tfa.push({
  notify: 'action',
  name: 'user_id',
  id: YOUR_ACCOUNT_ID,
  user_id: 'USER_12345'
});

E-commerce Platform Integrations

Shopify Integration

Taboola offers a native Shopify app for simplified implementation.

Installation Steps:

  1. Install the Taboola Pixel app from Shopify App Store
  2. Connect your Taboola Ads account
  3. Configure automatic conversion tracking
  4. Pixel is automatically deployed across all pages

Features:

  • Automatic pixel installation
  • Purchase event tracking without code
  • Product catalog sync
  • Dynamic remarketing support

WooCommerce Integration

Installation via Plugin:

  1. Download Taboola for WooCommerce plugin
  2. Install and activate in WordPress admin
  3. Navigate to Settings > Taboola
  4. Enter your Taboola Account ID
  5. Configure event tracking options

Manual Implementation:

<!-- Add to functions.php or header.php -->
<?php
function add_taboola_pixel() {
  $account_id = 'YOUR_ACCOUNT_ID';
  ?>
  <script type="text/javascript">
    window._tfa = window._tfa || [];
    window._tfa.push({notify: 'event', name: 'page_view', id: <?php echo $account_id; ?>});
    !function (t, f, a, x) {
      if (!document.getElementById(x)) {
        t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);
      }
    }(document.createElement('script'),
    document.getElementsByTagName('script')[0],
    '//cdn.taboola.com/libtrc/unip/<?php echo $account_id; ?>/tfa.js',
    'tb_tfa_script');
  </script>
  <?php
}
add_action('wp_head', 'add_taboola_pixel');
?>

Magento Integration

<!-- app/design/frontend/[theme]/Magento_Theme/templates/taboola/pixel.phtml -->
<script type="text/javascript">
  window._tfa = window._tfa || [];
  window._tfa.push({
    notify: 'event',
    name: 'page_view',
    id: '<?php echo $block->getAccountId(); ?>'
  });
  !function (t, f, a, x) {
    if (!document.getElementById(x)) {
      t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);
    }
  }(document.createElement('script'),
  document.getElementsByTagName('script')[0],
  '//cdn.taboola.com/libtrc/unip/<?php echo $block->getAccountId(); ?>/tfa.js',
  'tb_tfa_script');
</script>

BigCommerce Integration

Native integration available through BigCommerce's app marketplace.

Setup:

  1. Go to Apps > Marketplace
  2. Search for "Taboola Pixel"
  3. Click Install
  4. Enter Taboola Account ID
  5. Configure conversion tracking

Tag Management Integrations

Google Tag Manager

Taboola Pixel Template:

  1. Add Custom HTML tag in GTM
  2. Configure Taboola Pixel code
  3. Set up triggers for different page types
  4. Map data layer variables to Taboola parameters

Data Layer Integration:

<script>
dataLayer.push({
  event: 'taboola_conversion',
  taboola_account_id: 'YOUR_ACCOUNT_ID',
  revenue: 99.99,
  currency: 'USD',
  order_id: 'ORDER_12345'
});
</script>

GTM Tag Configuration:

<!-- Custom HTML Tag -->
<script type="text/javascript">
  window._tfa = window._tfa || [];
  window._tfa.push({
    notify: 'event',
    name: 'make_purchase',
    id: {{Taboola Account ID}},
    revenue: {{Transaction Revenue}},
    currency: {{Currency Code}},
    order_id: {{Order ID}}
  });
</script>

Recommended Triggers:

  • Page View - All Pages (base pixel)
  • Purchase Confirmation - Transaction Complete
  • Add to Cart - Product Added
  • Custom Event - Lead Submission

Adobe Launch (Adobe Experience Platform Tags)

Configure Taboola extension:

  1. Install Custom Code extension
  2. Create Taboola Pixel rule
  3. Configure data elements for conversion values
  4. Map Adobe data layer to Taboola events

Example Rule:

// Adobe Launch Custom Code
var accountId = _satellite.getVar('Taboola Account ID');
var revenue = _satellite.getVar('Order Total');

window._tfa = window._tfa || [];
window._tfa.push({
  notify: 'event',
  name: 'make_purchase',
  id: accountId,
  revenue: revenue,
  currency: 'USD'
});

Tealium

Taboola Tag Configuration:

  1. Add Taboola Pixel tag template
  2. Configure account mapping
  3. Set up event mappings
  4. Enable universal data layer pass-through

Tag Configuration:

// Tealium utag configuration
window._tfa = window._tfa || [];
window._tfa.push({
  notify: 'event',
  name: utag_data.event_name,
  id: utag_data.taboola_account_id,
  revenue: utag_data.order_total,
  currency: utag_data.currency_code
});

Segment

Taboola Destination Setup:

  1. Navigate to Connections > Catalog
  2. Search for Taboola (or use custom destination)
  3. Configure account credentials
  4. Map Segment events to Taboola events

Event Mapping:

// Segment analytics.js
analytics.track('Order Completed', {
  orderId: 'ORDER_123',
  total: 99.99,
  currency: 'USD',
  products: [
    { id: 'PROD_1', price: 49.99, quantity: 1 },
    { id: 'PROD_2', price: 50.00, quantity: 1 }
  ]
});

// Maps to Taboola conversion event

Analytics Platform Integrations

Google Analytics Integration

Track Taboola campaign performance in Google Analytics:

// Add Taboola UTM parameters to landing pages
const taboolaUtmParams = {
  utm_source: 'taboola',
  utm_medium: 'native',
  utm_campaign: 'campaign_name'
};

// Taboola automatically appends these when configured
// in Backstage campaign settings

Cross-Platform Tracking:

// Track Taboola conversions in GA4
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: orderId,
    affiliation: 'Taboola',
    value: revenue,
    currency: 'USD',
    items: items
  }
});

// Also send to Taboola
window._tfa.push({
  notify: 'event',
  name: 'make_purchase',
  id: TABOOLA_ACCOUNT_ID,
  revenue: revenue,
  currency: 'USD',
  order_id: orderId
});

Adobe Analytics Integration

// Custom Taboola dimension tracking
s.eVar60 = "taboola_campaign_id";
s.eVar61 = "taboola_site_id";
s.eVar62 = "taboola_click_id";
s.events = "event40"; // Taboola conversion event
s.t(); // Send beacon

Mixpanel Integration

// Track Taboola conversions in Mixpanel
mixpanel.track('Purchase', {
  source: 'Taboola',
  campaign_id: taboolaCampaignId,
  revenue: orderTotal,
  currency: 'USD'
});

// Parallel Taboola tracking
window._tfa.push({
  notify: 'event',
  name: 'make_purchase',
  id: TABOOLA_ACCOUNT_ID,
  revenue: orderTotal,
  currency: 'USD'
});

CRM Integrations

Salesforce Integration

Sync customer data for enhanced targeting:

// Customer audience sync via API
const syncToTaboola = async (customerData) => {
  const response = await fetch('https://backstage.taboola.com/backstage/api/1.0/audiences', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${accessToken}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'Salesforce High Value Customers',
      description: 'Customers with LTV > $1000',
      users: customerData.map(c => ({ email: c.email }))
    })
  });
  return response.json();
};

HubSpot Integration

Connect via Taboola's HubSpot integration:

  1. Navigate to HubSpot App Marketplace
  2. Install Taboola integration
  3. Authenticate Taboola Ads account
  4. Select contact lists for audience sync
  5. Configure sync frequency and mapping

Webhook Integration:

// HubSpot webhook to Taboola
const hubspotWebhook = {
  url: 'https://backstage.taboola.com/backstage/api/1.0/webhook',
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
    'Content-Type': 'application/json'
  },
  body: {
    event: 'contact.created',
    email: '{{contact.email}}',
    lifecycle_stage: '{{contact.lifecyclestage}}'
  }
};

Marketo Integration

Use Marketo webhooks to sync audiences:

{
  "webhook_url": "https://backstage.taboola.com/backstage/api/1.0/audiences/webhook",
  "method": "POST",
  "template": {
    "account_id": "{{my.taboola_account}}",
    "email": "{{lead.Email}}",
    "customer_id": "{{lead.Id}}",
    "lead_score": "{{lead.Score}}"
  }
}

API Integrations

Taboola Backstage API

Programmatic campaign management:

import requests
import json

# Authentication
auth_url = "https://backstage.taboola.com/backstage/oauth/token"
auth_data = {
    "client_id": "your_client_id",
    "client_secret": "your_client_secret",
    "grant_type": "client_credentials"
}

response = requests.post(auth_url, data=auth_data)
access_token = response.json()["access_token"]

# Create campaign
campaign_url = "https://backstage.taboola.com/backstage/api/1.0/advertisers/YOUR_ACCOUNT/campaigns"
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}

campaign_data = {
    "name": "Q4 Native Campaign",
    "branding_text": "Your Brand",
    "cpc": 0.50,
    "spending_limit": 5000,
    "spending_limit_model": "MONTHLY",
    "marketing_objective": "DRIVE_WEBSITE_TRAFFIC"
}

campaign_response = requests.post(campaign_url, headers=headers, json=campaign_data)
print(campaign_response.json())

Reporting API Integration

// Fetch campaign statistics
const fetchTaboolaStats = async () => {
  const response = await fetch('https://backstage.taboola.com/backstage/api/1.0/advertisers/YOUR_ACCOUNT/reports/campaign-summary/dimensions/campaign_day_breakdown', {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ${accessToken}`,
      'Content-Type': 'application/json'
    }
  });

  const data = await response.json();
  return data.results;
};

// Example response processing
fetchTaboolaStats().then(stats => {
  stats.forEach(day => {
    console.log(`Date: ${day.date}`);
    console.log(`Clicks: ${day.clicks}`);
    console.log(`Impressions: ${day.impressions}`);
    console.log(`CTR: ${day.ctr}`);
    console.log(`CPC: ${day.cpc}`);
    console.log(`Spent: ${day.spent}`);
  });
});

Content Management System Integrations

WordPress Integration

Using Plugin:

  1. Install "Taboola for WordPress" plugin
  2. Activate and navigate to settings
  3. Enter Taboola Account ID
  4. Configure widget placement options
  5. Enable conversion tracking

Manual Integration:

<!-- Add to theme's header.php -->
<?php
function taboola_pixel_code() {
  if (is_singular('post') || is_page()) {
    ?>
    <script type="text/javascript">
      window._tfa = window._tfa || [];
      window._tfa.push({
        notify: 'event',
        name: 'page_view',
        id: <?php echo get_option('taboola_account_id'); ?>
      });
      !function (t, f, a, x) {
        if (!document.getElementById(x)) {
          t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);
        }
      }(document.createElement('script'),
      document.getElementsByTagName('script')[0],
      '//cdn.taboola.com/libtrc/unip/<?php echo get_option('taboola_account_id'); ?>/tfa.js',
      'tb_tfa_script');
    </script>
    <?php
  }
}
add_action('wp_head', 'taboola_pixel_code');
?>

Drupal Integration

Module Installation:

  1. Download Taboola module for Drupal
  2. Install via Extend > Install new module
  3. Configure at Configuration > Taboola
  4. Set Account ID and tracking options

Joomla Integration

<!-- Add to template index.php -->
<?php
$taboolaAccountId = $this->params->get('taboola_account_id');
if ($taboolaAccountId):
?>
<script type="text/javascript">
  window._tfa = window._tfa || [];
  window._tfa.push({notify: 'event', name: 'page_view', id: <?php echo $taboolaAccountId; ?>});
  !function (t, f, a, x) {
    if (!document.getElementById(x)) {
      t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);
    }
  }(document.createElement('script'),
  document.getElementsByTagName('script')[0],
  '//cdn.taboola.com/libtrc/unip/<?php echo $taboolaAccountId; ?>/tfa.js',
  'tb_tfa_script');
</script>
<?php endif; ?>

Custom Audience Integrations

Email List Upload

# CSV format for customer list upload
email,user_id
user1@example.com,CUST001
user2@example.com,CUST002

# Upload via Backstage UI
# Navigate to: Audiences > Create Audience > Upload List

API Upload:

import requests

def upload_audience(access_token, account_id, emails):
    url = f"https://backstage.taboola.com/backstage/api/1.0/advertisers/{account_id}/audiences"

    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json"
    }

    payload = {
        "name": "Email List Upload",
        "description": "Customer email list",
        "users": [{"email": email} for email in emails]
    }

    response = requests.post(url, headers=headers, json=payload)
    return response.json()

First-Party Data Onboarding

// Hash emails before sending
const crypto = require('crypto');

function hashEmail(email) {
  return crypto
    .createHash('sha256')
    .update(email.toLowerCase().trim())
    .digest('hex');
}

// Send hashed email to Taboola
window._tfa.push({
  notify: 'action',
  name: 'user_id',
  id: TABOOLA_ACCOUNT_ID,
  user_id: hashEmail("user@example.com")
});

Mobile App Integration

iOS SDK Integration

import TaboolaSDK

// Initialize Taboola SDK
TaboolaSDK.shared.initialize(
    publisherId: "YOUR_PUBLISHER_ID",
    apiKey: "YOUR_API_KEY"
)

// Track conversion event
TaboolaSDK.shared.trackEvent(
    name: "purchase",
    properties: [
        "revenue": 99.99,
        "currency": "USD",
        "order_id": "ORDER_12345"
    ]
)

Android SDK Integration

import com.taboola.android.sdk.TaboolaSDK

// Initialize SDK
TaboolaSDK.init(
    context = applicationContext,
    publisherId = "YOUR_PUBLISHER_ID",
    apiKey = "YOUR_API_KEY"
)

// Track conversion
TaboolaSDK.trackEvent(
    "purchase",
    mapOf(
        "revenue" to 99.99,
        "currency" to "USD",
        "order_id" to "ORDER_12345"
    )
)

Troubleshooting Integrations

Pixel Verification

Test pixel implementation:

// Check if Taboola pixel is loaded
console.log(window._tfa);

// Verify events are firing
if (window._tfa && window._tfa.length > 0) {
  console.log('Taboola events:', window._tfa);
} else {
  console.error('Taboola pixel not loading correctly');
}

Integration Health Monitoring

Monitor integration status in Taboola Backstage:

  1. Navigate to Tracking > Pixel
  2. Check pixel status for each domain
  3. Review recent conversion events
  4. Address any error notifications

Common Issues:

  • Pixel not firing - Check script placement and async loading
  • Conversions not tracking - Verify event parameters and account ID
  • Duplicate events - Implement event deduplication
  • Missing user identification - Check user_id implementation

Best Practices

  1. Event Consistency - Use consistent event naming across all integrations
  2. User Privacy - Hash personal information before sending to Taboola
  3. Testing - Test integrations in staging environment before production
  4. Monitoring - Set up alerts for pixel failures and integration errors
  5. Documentation - Maintain internal documentation of custom integrations
  6. Data Quality - Validate conversion data accuracy regularly
  7. Performance - Load Taboola pixel asynchronously to avoid blocking page render

Next Steps

// SYS.FOOTER