Understanding Visitor Stitching

Understanding Visitor Stitching

by on ‎03-04-2015 05:57 PM - edited on ‎09-28-2018 07:21 AM by Community Manager (7,473 Views)

In this article:

Table of Contents Placeholder


A basic form of visitor stitching, which makes use of the utag_main_v_id cookie, is enabled by default when the Tealium Collect tag is configured in Tealium iQ. This cookie allows for intra-browser session stitching by providing a unique ID for the visitor. As long as the visitor does not clear the browser's cache and cookies between visits, then each session will be associated with the same visitor. However, this is limited to a single browser.

To allow for inter-browser/platform/device stitching, you need an identifier other than the utag_main_v_id cookie. AudienceStream allows you to define secondary Visitor ID attributes other than the utag_main_v_id cookie. If you do use Visitor ID-type Attributes, then you must ensure that there are no duplicate IDs before enabling visitor stitching. Otherwise visitor profiles may be incorrectly stitched together.

Visitor stitching must be enabled. Visit Support Desk to request that Visitor Stitching be enabled for your profile.

Here are several important notes about visitor stitching:

  • A visitor ID must have at least 3 unique characters and be at least 6 characters long.
    Learn more about Visitor ID attribute requirements.
  • Each Visitor ID only gets set once, so they will never change.
  • Multiple Visitor IDs are evaluated as an OR condition.
  • We do not support using anonymous data to stitch visitors - the IDs should be a guaranteed match to the visitor.
  • When two visitor profiles are stitched, the original profiles remain and a third master profile is created combining the two stitched profiles.
  • Be careful not to capture default or test values.
  • Before stitching is enabled, determine how to handle shared IDs - such as those used at libraries or universities - so that multiple visitors aren't inadvertently stitched.

What is a Visitor ID?

The Visitor ID is a value that is used to identify a visitor. For example, a Visitor ID might look like "01477ea4d6880019373ccbeb040917051001e00f0093c".

While AudienceStream uses the utag_main_v_id cookie as the main Visitor ID, you can define many secondary Visitor ID attributes. If you define secondary Visitor ID attributes, AudienceStream will scan through previous visitor sessions and try to stitch together those sessions.


In this example, we will use the Facebook ID as a secondary Visitor ID attribute which is made available when a visitor logs into a website using Gigya's consumer identity management platform.

Step 1: Store Secondary ID - Facebook ID

Using Gigya's service, the Facebook ID is made available to Tealium iQ upon login to a website. The ID should be stored as a parameter of the utag_main cookie namespace.


Step 2: Create Rule

Before you create the new Visitor ID attribute, you must create a rule to state when the attribute should be applied.

  1. In AudienceStream, navigate to the Enrich tab.
  2. Select the Rules tab then click the blue "+ Add Rule" button.
  3. Enter the details that define when the Facebook ID is present - in this case it's when the UDO cookie "utag_main_fb_id" exists (is assigned) and does not equal 0.


Step 3: Create String Attribute

Create a temporary attribute to use for verification. Use a String attribute at first (instead of a Visitor ID) so that you can verify the data in Audience Discovery and ensure that there are no issues with duplicate Visitor IDs. If you create a Visitor ID attribute without verifying data, you run the risk of improperly stitching visitor profiles. To set up this attribute:

  1. Navigate to the AudienceStream Attributes screen .
  2. Click +Add Attribute. The attribute dialog will appear.
  3. Select String as the data type.
  4. Enter a title.
  5. Apply the rule you created above.


Step 4: Publish to Production

Publish the rule and attribute to production so that AudienceStream can start collecting the data. The number of users on the website and the type of data being collected will determine how long before you can verify the data in AudienceStream. If you're using a 1st-party cookie that is available for every visitor, wait about 15 minutes and then verify. If you're using a Facebook ID and only a small portion of visitors log in with Facebook, then some amount of data collection, from several hours up to a day, must occur before you'll be able to verify.

Step 5: Verify Data

Navigate to Audience Discovery and change the perspective of view by selecting the newly created Facebook ID attribute.

Below is an example of a bad visitor ID. Notice how there are 483 users with a Visitor ID of "0". If stitching was enabled then all 483 visitor profiles would be combined into a single visitor profile, which is obviously incorrect. The best way to fix this is to add a condition to the rule that is applied to the attribute and check that the value is not equal to "0".


Below is an example of a good visitor ID. Notice how there are several users with a value of "none" - this is normal as not every visitor will have a visitor ID. There is only a small sample of users that appear to have a duplicate ID. It's almost impossible to tell why the 5 IDs below have 2 users assigned to them, but it is less than 1% of the population, so it is fine to enable Visitor Stitching.


Step 6: Create Visitor ID Attribute

Create a Visitor ID attribute that will get its value from the previous Facebook ID attribute created.

Give the Visitor ID attribute a title and note, then apply the newly created rule.


Save and publish to production to start recording data.

Step 7: Enable Visitor Stitching

Now that you've completed the appropriate verification of data, visit Support Desk to ask for Visitor Stitching to be enabled for the desired account/profile.

See It In Action


Once the configurations are live, an example of stitching would occur as follows:

  1. A visitor logs into the website on their work computer during lunch, using Facebook. Visitor profile "A" is created and captures the secondary Visitor ID. Eventually the session ends.
  2. The same visitor later logs into the website from their mobile device during dinner, using Facebook. Visitor profile "B" is created and captures the secondary Visitor ID.
  3. AudienceStream then performs the look-up to determine if the secondary Visitor ID from "B" exists in another visitor profile. When AudienceStream determines that profile "A" has the same Visitor ID, then visitor profiles "A" and "B" are stitched.


Data Enrichment

Once logged in with Facebook, two new data layer variables are created:
utag.data["va._secondary_ids"] will exist with an array value of ["5435_1469626503"]
utag.data["va.secondary_ids.5435"] will exist with a string value of "1469626503"

The "5435" in the attribute variable name is the ID assigned to the "Facebook ID" attribute within AudienceStream. You can find this number by viewing the attribute details within Tealium iQ where the UID is stated. Notice how the variable name uses "Secondary ID" to signify the connection to the master Visitor ID.