Highlighted

Tealium Pixel Container Tag

Tealium Employee

The Tealium Pixel Container Tag is a generic container for tracking pixels. You can specify up to 8 pixels and select either an image or an iframe pixel.

Configuring the Tag

In some cases you may want to call a pixel to send information, such as order data, to a custom data repository. We do not formally support these pixels, however we do provide the Tealium Pixel Container for you to send information to your repository. It is a quick way to send data to systems that are not supported by Tealium. It is mostly relevant to E-Commerce sites and on order confirmation pages.

You can have static or dynamic values set within your pixels.

To use dynamic pixels you must use a substitution notation (@@) before and after the variable to be replaced:

http://www.example.com/trackingpixel.gif?orderid=@@_corder@@

By adding the @@variable@@ notation, the actual value of the variable will be substituted before the pixel is transmitted.

To add this Tag:

1. Navigate to the Tags tab and add the Tealium Pixel Container Tag.

2. Enter a title for the Tag.

3. From the 'Type' drop-down list, select the type of pixel, either image or iframe.

  • If you select image, be aware that the expected response is an image. The Tag will not work if the response is not an image.
  • If you select iframe, the response can be any type of HTML.

4. Choose whether or not to enable Auto Cache Bust.

  • Keep this option enabled if you need a unique call each time the tracking pixel fires.

5. Cache Bust Name (optional): Enter the name with which to override the default cache bust param name. If you leave this blank, the default value '_rnd' will be used.

6. In each of the Pixel fields, set the URL for the custom pixel to fire. For example the following URL sends the order ID, which is contained in the Universal Data Object, then the zip code, which is stored in a cookie:
http://www.tealium.com/log.js?orderid=@@_corder@@&zip=@@cp.zip_code@@ This assumes that you have the variable order_id declared in your utag_data object and appropriately mapped in the E-Commerce Extension.

7. Click Next to proceed to the load rule window and set the load rule you wish to govern this Tag.

  • The Tealium Pixel Container Tag only functions properly with one load rule. If you have more than one load rule you wish to utilize, you must create a unique Pixel Container Tag instance for each load rule.

tag setting window.png

Declaring Variables: Syntax Rules

Each type of variable has certain syntax rules:

  • Universal Data Object and Extension Output Variables: @@variable@@
  • Javascript Page Variable: @@js_page.variable@@ - Example: js_page.s.prop1
  • Meta Tag Variable: @@meta.variable@@ - Example: meta.keywords
  • Querystring Parameter Variable: @@qp.variable@@ - Example: qp.utm_source
  • Cookie Value Variable: @@cp.variable@@ - Example: cp.user_id

When the final pixel is loaded, if the variable '_corder' equals "ord123" and the cookie value 'zip_code' equals "90010" then the pixel fired will be:
http://www.tealium.com/log.js?orderid=ord123&zip=90010

E-Commerce Extension

9 REPLIES 9
Highlighted

Tealium Pixel Container Tag

Silver Contributor
Silver Contributor

There seems to be an option now to rename the rnd param - but it doesn't seem to work if I just place the new param name in there (r, instead of rnd). Must be missing something?

Highlighted

Tealium Pixel Container Tag

Tealium Employee

Hi @redfuel318

 

So looks like there is a bug in the template.

I have raised a request to get this fixed ASAP.

 

For the mean time if you wanted to correct the template you will need to chage:

 

if (u.cachebust == "enabled" && x.searchParams.has("_rnd") == false) {
x.searchParams.append("_rnd", Math.random()); // Add cache buster
}

With:

 

if (u.cachebust == "enabled" && x.searchParams.has(u.cachevar) == false) {
  x.searchParams.append(u.cachevar, Math.random()); // Add cache buster
}

 

Adrian

Ask me anything Tealium related or Javascript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.
Highlighted

Tealium Pixel Container Tag

Silver Contributor
Silver Contributor

Is it possible to get the <meta property="og:title" content="MyPage"> and apply it to the input ? I have tried @@meta.title@@ 

Highlighted

Tealium Pixel Container Tag

Tealium Employee

@ketil_flataker

 

You can create a meta data source of:

 

meta_ds.png

 

Then in the Pixel tag just use it as you suggested:

 

pixel1.png

 

This will then send the data arcoss in the request.

 

Adrian

Ask me anything Tealium related or Javascript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.
Highlighted

Tealium Pixel Container Tag

Silver Contributor
Silver Contributor

Thank you @adrian_browning !

 

That did work indeed.

 

 

Regards, 

Ketil

Highlighted

Tealium Pixel Container Tag

Silver Contributor
Silver Contributor

Hi, 

 

I have some issues sending in transaction and product data, the data is UDO's and some of them are arrays. Is there any limitations of number of variables you can send, and is there any issues with arrays?

 

ADFPageName and virtuelside have the correct values applied. Revenue is a string, rest of the variables are arrays.

 

Here is my pixel string :

 

https://track.adform.net/Serving/TrackPoint/?pm=7349&ADFPageName=@@meta.og:url@@|@@meta.og:title@@&v...

 

Regards, 

Ketil

Highlighted

Tealium Pixel Container Tag

Employee Emeritus

Hi @ketil_flataker,

There shouldn't be any issues in terms of the number of variables or using arrays.  Variables that are arrays will get joined with a comma delimeter.  The comma delimeter will get URL encoded, so the pixel will show %2C instead of a comma.  

 

Based on your pixel, it looks like you're specifing that the delimeter is a pipe symbol.  If you want to utilize a pipe symbol instead of a comma, you'll want to utilize a Set Data Values extension that would be scoped to the tag where you would take a variable such as product_id and run JS code.  The code would look like this:

b.product_id.join('|');

You would do this for all variables that need to join the array with a pipe symbol instead of a comma.

 

As for the length of the pixel, the only limit would be imposed on the browser's GET size limit.  The de facto limit is 2,000 characters.  As long as the URL will be under that, you should be fine.

 

Let us know if you have any other questions.

Highlighted

Tealium Pixel Container Tag

Silver Contributor
Silver Contributor

Hi @jason_paddock and thanks for your feedback. 

 

I removed the pipe as delimiter, but I'm still struggeling getting all the data in the pixel.

 

This is the data in pixel1: https://track.adform.net/Serving/TrackPoint/?pm=12345&ADFPageName=@@meta.og:url@@|@@meta.og:title@@&...

 

What is sent from the client is just the ADFPageName and the virtuelside. ADFPageName is metadata variable, and the virtuelside is an UDO. The only differense is that revenue, product_id etc are sent using utag.link, whereas the virtualPage is sent using utag.view. 

 

Do you have any suggestions about solving this issue?

 

Regards, Ketil

 

 

Highlighted

Tealium Pixel Container Tag

Employee Emeritus

Hi @ketil_flataker,

I think you're saying that some of the data layer elements aren't available when the pixel tries to fire.  I would imagine this can cause problems when building the URL.  I would suggest switching to the Tealium Generic Tag instead and utilize mappings to set the query string parameters.  Mappings check that a variable is populated before trying to add that data point to the URL.

 

Here's more information on the generic tag: https://community.tealiumiq.com/t5/Tags-and-Client-side/Tealium-s-Generic-Tag/ta-p/12034

 

Please let us know if you have any other questions.

 

Thanks