Purpose

This document provides a quick overview of how to add tags to measure visits and actions. For more information, see our detailed XP Tracker and Tagging Guide.

Also note the following:

  • Cookie Information: Learn more about cookies placed using our web tracker.
  • GDPR / Privacy Compliance: The TCF EU helps digital advertising networks comply with GDPR and the ePrivacy Directive. Our web response tracker is available in a TCF EU-compliant version. For details, refer to the IAB TCF EU support materials.

Still have questions? If you need more help, please contact our Support team by submitting a ticket here (or through your brand portal).


Overview

  • Who installs tags? Web managers should place tags directly on the client’s website.
  • Timeline: We recommend installing tags two weeks before your campaign goes live to allow sufficient time for data QA.
  • Subdomain tracking: InnovidXP offers standard web tracking and a subdomain-friendly web tracker.
  • Action tag availability: Action tag implementation depends on partner capabilities and agreement terms.

Visit tag

The Visit Tag is a JavaScript-based tag that measures total visits to your website.

Key rules

  • You need only one Visit Tag code string per website.
  • Place the tag on all pages of your website to accurately capture total traffic volumes.
  • It can also measure visits to specific pages or sections if they share the same parent URL.

How to get your code

Navigate to Data > Responses or Visitors > InnovidXP Tracker Instructions > Step 1 in the InnovidXP platform. The placeholders <COLLECTOR_ID> and <SITE_ID> will auto-populate for your site.

Visit tag code

<!-- Begin TVSguared Tracking Code -->
<script type="text/javascript">
    var _tvg = window._tvg = window._tvg || [];
    (function () (
        var u (("https:" == as document location.protocol) ?
"https://<COLLECTOR_ID.tvsquared.com/"": "http://<COLLECTOR_ID.tvsquared.com/"");
       _tvq.push ( ['setSiteld', "<SITE_ID>"] );
       _tvq.push ( ['setTrackerUrl', u + 'tv2track.php'] ) ;
       _tvg.push ([function () {
            this. deleteCustomVariable (5, 'page')
       } ] ) ;
       _tvq.push ( ['trackPageView'] ) ;
       var d = document,
   g = d.createElement ('script'),
             s = d.getElementsByTagName ('script’) [0];
       g.type = ‘text/javascript’;
       g.defer = true;
       g.async = true; 
       g.src = u + ‘tv2track.js’;
       s.parentNode.insertBefore(g, s);
    } ) ( ); 
</script>
<!--End TVSquared Tracking Code-->

Action tags

Action tags track specific events beyond page visits (e.g., button clicks, form submissions, or specific URL destinations). Placement is optional and supplements the visit tag.

Smart and advanced actions

Action tags allow customers to track smart or advanced actions. The following table provides more details:

Action Details How to track
Smart

Captures data every time a user accesses a specific page or set of pages.

  • Quick to implement and edit 
  • Less likely to produce errors
  • Does not capture detailed information
Select the checkbox for Sign-up Form Completion and/or Purchase Completion, or you can create a new action.
Advanced

Captures more detailed information, for example, at revenue product level or whether a specific button was selected.

Takes more time for customers and Innovid to set these up.

Select the checkbox as above, select the Settings cog, and switch on one or more advanced parameters to track:

  • Capture Revenue
  • Capture Promo Codes
  • Capture User IDs


Action tag parameters

Add extra value to your platform analysis by adding variables to the action/KPI tag parameters as appropriate.  Each parameter is indicated by a <PLACEHOLDER>, listed in the table below:

Parameter Description Required
<USERREF> An internal user ID Optional
<ACTIONNAME> The name of the action - this must be included Required
<REVENUE> Any revenue generated by the action Optional
<PRODUCT> The product name for the action Optional
<ACTIONID> An internal ID for the action, for example, order number Optional
<PROMOCODE> The promo code for the action Optional


Tip: If you don't need a specific parameter, replace the placeholder with an empty string:

  • var action = {'rev': '', 'prod': '', 'id': '', 'promo': ''};

How to get your code

Navigate to Data > Responses or Visitors > InnovidXP Tracker Instructions > Step 2 in the InnovidXP platform to copy your code with auto-populated Site ID, Collector ID, and Action placeholders.

Action tag code

<!-- Begin TVSquared Tracking Code -->
<script type="text/javascript">
   var _tvg = window.tvg = window. tvg || [ ];
   (function () {
       var session = {
             ‘user': ‘<USERREF>’
       };
       var actionname = '<ACTIONNAME>';
       var action = {
             ‘rev’: ‘<REVENUE>’,
             ‘prod’: ‘<PRODUCT>’,
             ‘id’: ‘<ACTIONID>’, 
             ‘Promo’: ‘<PROMOCODE>’
        };
        var u = (("https:" == document.Location.protocol) ? "https:///" : "http:///”);
        _tvq.push (['setSiteld', "SITE ID"]);
        _tvg.push (['setTrackerUrl', u + 'tv2track.php']) ;
        _tvq-push ([function () {
              this.setCustomVariable (5, 'session' , JSON2.stringify(session), 'visit')
        )]};
       _tvg.push ( [function () {
              this. setCustomVariable (5, actionname, JSON2.stringify (action), 'page')
        )]};
_tvq-push ( ['trackPageView']) ;
       var d = document,
             g = d. createElement ('script'),
             s = d.getElementsByTagName ('script') [0];
       g.type = 'text/javascript';
       g.defer = true;
       g.async = true;
       g.src = u + ‘tv2track.js';
       s.parentNode.insertBefore (g, s) ;
    }) ();
</script>
<!-- End TVSquared Tracking Code-->

Verifying tags

After deploying tags, verify in the platform:

  1. Check live activity:
    • Visit tag: Go to Data > Responses > Recent Collector Visits.
    • Action tag: Go to Data > Responses > Recent Collector Visits with Actions.

      Note: Innovid can track actions/KPIs that happen days and weeks after the initial response to a TV airing. This is called the lag period and is typically set to 14 days. Contact the Innovid Platform Services team for further details.
  2. Confirm traffic volumes: After 2–3 days of live traffic, navigate to Data > Responses > Raw Response Breakdown to confirm traffic numbers with Innovid.
  3. URL classifications: Adjust URL traffic classifications as needed under the Referrer Rules section of the Response Breakdown page.

Troubleshooting Google Tag Manager (GTM) 

Note: It can take up to 24 hours for data to populate on the Raw Response Breakdown page.

If data does not appear after 24 hours, check the following:

Visit tag

  • Ensure the code has not been edited manually.
  • Confirm the visit tag trigger is set to All Pages.

Action tag

  • Ensure the base code is unaltered, and that only parameter variables are customized.
  • Ensure custom variables are correctly formatted in quotes and curly braces (e.g., 'rev': '{{SALEREVENUE}}'). Unused variables must use an empty string (e.g., 'rev': '').
  • Confirm the action tag trigger in GTM matches the trigger logic used for Google Analytics goals.

Performance, latency & security

  • Under extreme server loads, the infrastructure drops tracking sessions rather than slowing your website.
  • Scripts load a few seconds after the main page elements finish rendering, preventing page load delays or browser "waiting" messages.
  • Source files are minified to eliminate redundant spaces, dead code, and unneeded characters.
  • Powered by AWS auto-scaling servers in the U.S. and EU to dynamically adjust capacity for peak traffic volumes.
  • Server processing occurs within approximately 1 millisecond.

Related content

XP Tracker and Tagging Guide

Was this article helpful?
0 out of 0 found this helpful