This document outlines some of the requirements for an IBM Digital Analytics, or CoreMetrics (CM), Implementation. We'll start with an description of how CM records traffic. If you are familiar with how CM operates then you can skip this section and move to the Data Layer Section.

In this article:

CM Tag Descriptions

CM uses "Data Tags" to determine how the traffic is getting bucketed on the CM end. ­­­The tags are actually various IBM functions that are called. Each of these functions are contained within the IBM CoreMetrics tag from the Tealium Marketplace.

The widely used CM tags available are:

  • Page View Tag
    This tag should be triggered on every page. This calls the CM cmCreatePageviewTag() function. 
  • Product View Tag
    The Product View tag should be triggered on the lowest level detail page for products, which is typically the Product Details page. This should occur in addition to the Page View Tag. CM allows for multiple Product View calls to be made on the same page if needed. Our template is set up to count the number of objects in the Product ID array and will fire one Product View tag for each entry. This calls the CM cmCreateProductviewTag() function.
  • Shop Action 5 Tag (Cart View)
    The Shop Action 5 function captures data about selected products and which products are present in a shopping cart. In cases where a visitor can select or cart a product without actually being directed to the cart page, a single Shop Action 5 tag should be called for the product just added. A Shop Action 5 call should be made for each individual product in the cart, i.e. 3 products = 3 Shop Action 5 function calls. Our template is set up to count the number of objects in the _cprod array (Product Id section of eCommerce Extension) and fire that many Shop Action 5 calls. This calls the CM cmCreateShopAction5Tag() function. 
  • Shop Action 9 (Products Ordered)
    The Shop Action 9 function should be sent on the receipt or other completion page confirming a successful order. One call should be sent for each product line item purchased. Our template is set up to count the number of objects in the _cprod array (Product Id section of eCommerce Extension) and fire that many Shop Action 9 calls. Anytime the variable mapped to Order Id in the eCommerce ext is populated this function will get called automatically. This calls the CM cmCreateShopAction9Tag() function. 
  • Order Tag
    The Order function should be sent on the receipt page confirming order completion. This captures order header information such as Registration ID, order ID, order subtotal, and shipping and handling. Only one Order function should be called per order. Anytime the variable mapped to Order Id in the eCommerce ext is populated this function will get called automatically. This calls the CM cmCreateOrderTag() function.

Other CM tags include:

    • Registration Tag – Used to track registration events on the site
    • Element Tag – Used to track Dynamic events
    • Conversion Event Tag – Used to track events that are considered conversions on the site, not orders.
    • Manual Link Click Tag – Used to capture links clicks
    • Manual Page View Tag – Used to capture page views that don’t have a page load event, i.e. Modal popups
    • Manual Impression Tag – Used to capture impressions of a certain feature like banner displays
    • Real Estate - Used for A/B testing or to track the performance of similar links within the same page. Data will be collect in a single variable with 3 sections separated by "-_-" like so:
      site_real_estate = "Version-_-page_area-_-estate_info"

      The site_real_estate variable will then get mapped to ManualImpressionTag_cm_re in the Data Mapping dialog.  CoreMetrics will break apart the variable based on the "-_-" and populate the reporting accordingly. 

    • Site Promotion - Used to track the performance of a link across multiple pages. I also have a client using this to track total impressions of promotions on the site. Data will be collect in a single variable with 3 sections separated by "-_-" like so:
      site_promotion = "promotion_type-_-promotion_name-_-promotion_info"
      The site_promotion variable will then get mapped to ManualImpressionTag_cm_sp in the Data Mapping dialog. CoreMetrics will break apart the variable based on the "-_-" and populate the reporting accordingly. 

Data Layer

Now that we have an understanding about how CM collects data lets see how the Tealium data should be structured. CM breaks out custom metrics, called attributes, for each function call. Attributes are numbered between 1-100 for most functions and appear in the server call to CM like pv_a1, for Page View attribute 1. In order to set up CM, the client will need to provide an outline of which UDO variables correspond to each attribute.

Typically each attribute will need it’s own UDO variable.

As a best practice for Tealium, include a variable in the UDO that defines when each type of CM function should be called. For example, on Cart Pages include a variable called event_type = “shopping”, or when you are using link tracking and you want to call cmCreateElementTag() then event_type=”element”. This will aide in setting up the Tealium implementation. 

Tag Settings

Tag Configuration

There are several sections to fill out to make sure the CM tag is set up properly.

Title A Tealium Specific label that is used exclusively in the Tealium UI.
Tag Version Leave the default to load the eluminate.js (CM main library) via Tealium, or select External to load it from the CM CDN.
Client ID
This is the client ID given from CM i.e. 89999999|SiteID.
Test Client ID
This is the Client ID that corresponds to your test site.
Collection Method
True indicates 1st Party Cookie, False indicates CM managed 1st party or 3rd party as applicable.
Collection Domain
Usually should be left as default.
Cookie Domain
The domain of the client’s site i.e.
Test Domain
The domain of the client’s test site. When this is filled in the tag template will automatically recognize this domain and set the Collection Domain and Test Client ID accordingly.


Load Rules

This tag should load on All Pages like most analytics tags.

Data Mappings

Once we have the outline of which variables should be assigned to each attribute we can begin mapping the variables. When we select a variable to map the Data Mapping dialog will appear like so:


You can see each Category corresponds to the previously outlined CM Data Tags. The Data Mapping dialog defaults to the Page View Category.

For each Category there will be standard variables that are defined above all attributes and extra fields. In the picture above the standard variables are

  • Page ID,
  • Page Category,
  • Search String and
  • Search Results.

These variables are customary variables CM is expecting to be passed with each function.

One variable can be used for the same attribute in multiple functions. i.e. page_type can be used for Page View attribute 1 along with Product View attribute 1 etc.


The Events Category in the Data Mapping dialog is where you can define when each of the CM functions should fire depending on the value of a certain variable.

When a variable has been selected and you click on the Events tab you will see 2 fields: Value and Trigger. The Value field is where you insert the value of the variable you selected, and the Trigger drop box is where you select the event you want to fire. This is where you define a kind of if/then statement like, “if the variable selected equals what is contained in the Value field then run the selected event in the Trigger drop box”.

In the following example we are saying when the selected variable EQUALS “cart” Trigger the Cart/ShopAction5 function:


If a defining variable is not available, extensions can be used to determine when specific calls should be made. Define a Data Layer variable called _cevent in the Data Sources Tab. To trigger one of the following functions set _cevent as follows:

Data Tag _cevent value
Product View prodview
ShopAction5 cart
ShopAction9 purchase
Order purchase
Conversion event conversion
Registration register

As an example, let's say you need to trigger the cmCreateProductviewTag() on product detail pages, and the product pages have a URL similar to this:

Using a Set Data Values Extension you could:

  1. Set _cevent to Text prodview.
  2. Scope the extension to the IBM Analytics tag.
  3. Add the condition, reflecting the url pathname: pathname contains /productdetail/


Then ensure that you have the mapping configured for _cevent for the Product View event.

Best Practices when setting up the CoreMetrics Tag

  • If you choose to map your values for Element ID and Conversion Event ID, make sure to use two different variables, e.g., element_id and conversion_id. You can use the Config Category in the Data Mapping dialog to complete the mappings
  • If you are implementing utag.view/ to track dynamic content, use utag.view for Manual Page View and Manual Impression, and use for all other type of calls, like for cmCreateElementTag() and cmCreateConversionEventTag().
  • Use the E-commerce extension. When configured in your profile the Tealium tag will automatically map the following utag_data variables:
    For the Order data tag
    Order ID, Order SubTotal, Customer ID, Product ID, Product Name, Product Quantity, Product Price and
    Product Category
    For the Shop Action 9 data tag 
    Order Shipping Amount, Customer City, Customer State, Customer Zip
    For the Shop Action 5 data tag
    Product ID, Product Name, Product Quantity, Product Price, Product Category
    For the Registration data tag
    Customer ID, Customer City, Customer State, Customer Zip, Customer Country


IBM Digital Analytics (Coremetrics) Tealium Tag Setup Guide 

IBM Digital Analytics (Coremetrics) Tag (IBM Product Guides)


Version history
Last update:
‎01-15-2021 02:14 PM
Updated by: