Skip to main content
Skip table of contents

Tealium iQ Tag Manager (client-side)

Overview

This guide provides instructions for integrating your website with Symbiosys via Tealium iQ, Tealium’s tag management product. If you require assistance, we’re happy to pair with the Tealium Support team.

Getting Started

Symbiosys requires two types of data: Page Views and Orders. We’ll use two separate tags in Tealium to handle the collection of these data. For tags not already supported in the Tealium Tag Marketplace, as in our case, Tealium has two options for implementing: Custom Container and Generic Tag. Here, we’ll be using the Generic Tag. This allows you to dynamically pass data from your Tealium data layer variables to Symbiosys.

Page Views

  1. Log in to Tealium IQ.

  2. Navigate to the Tags section.

  3. Click on + Add Tag.

  4. Choose Tealium Generic Tag.

Tealium Generic Tag create view

  1. In the Title field, write “Symbiosys Pixel – Page Views”

  2. In the Type field, select the default open (Image)

  3. In the Base URL field, paste one of the following endpoints:

    1. Production: event.symbiosys.ai/page_viewjs

    2. Testing: event.symbiosys.dev/page_viewjs

  4. Determine which Tealium Data Layer variables correspond to the parameters in the Symbiosys Event API – URL Parameter Reference

    1. In the Query String field, add a string that contains all your dynamically mapped data. Each parameter should follow the convention &param=@@{dataLayerVariable}@@, where & is the delimiter, param is the name of the parameter, @@ is the data layer variable interpolator. The resulting string should look like this:

CODE
ts=@@{timestamp}@@&ch=@@{ReferrerChannel}@@&sid=@@{PageViewSessionID}@@&vid=@@{VisitorID}@@&crmid=@@{CRMID}@@&aclid=@@{ATTClickID}@@&uaclid=@@{ShouldUseATT}@@&prodid=@@{ProductID}@@&ccmp_id=@@{CampaignID}@@&cclid=@@{ChannelClickID}@@&page_url={pageUrl}@@&category_id={categoryID}@@&api_key={SYMBIOSYS_PROVIDED_API_KEY}
  1. Apply the following load rule: All Pages excluding the order confirmation page. If you know the order confirmation path URL (e.g., http://yoursite.com/order-confirmation), you can use that path to apply this exclusion (e.g., except when path contains “order-confirmation”).

Orders

  1. Repeat steps 2-4 from the Page Views section.

  2. In the Title field, write “Symbiosys Pixel – Orders”

  3. In the Base URL field, paste one of the following endpoints:

    1. Production: event.symbiosys.ai/orderjs

    2. Testing: event.symbiosys.dev/orderjs

  4. Determine which Tealium Data Layer variables correspond to the parameters in the Symbiosys Event API – URL Parameter Reference

    1. Note: If there are multiple items in a single order, you can map multiple values to each of prodid, qty, regunitpr, disunitpr by using ~ as your delimiter (e.g., 3 distinct products → prodid='123~456~789').

      1. This will require some code manipulation of your data layer variables. Supposing your product ids are stored in an array called product_ids, you would want to create a custom variable that joins them on the tilde (e.g., symProdIDs = utag.data.product_ids.join('~')) and then interpolate the result (&prodid=@@symProdIDs@@)

    2. In the Query String field, add a string that contains all your dynamically mapped data. Each parameter should follow the convention &param=@@{dataLayerVariable}@@, where & is the delimiter, param is the name of the parameter, @@ is the data layer variable interpolator. The resulting string should look like this: 

CODE
ts=@@{timestamp}@@&sid=@@{PageViewSessionID}@@&vid=@@{VisitorID}@@&crmid=@@{CRMID}@@&oid=@@{OrderID}@@&qty=@@{Quantity}@@&regunitpr=@@{RegularUnitPrice}@@&disunitpr=@@{DiscountUnitPrice}@@&page_url=@@{pageUrl}@@&api_key={SYMBIOSYS_PROVIDED_API_KEY}
  1. Apply the following load rule: Load only on the order confirmation page. If you know the order confirmation path URL (e.g., http://yoursite.com/order-confirmation), you can use that path as the only inclusion (e.g., only when path contains “order-confirmation”).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.