How to Track UTM Parameters in Adobe Analytics Using Classification Sets

Adobe Analytics BCS 7 years ago (2019-11-15) 8251 Views 0 Comments

Updated: March 26, 2026

You have added UTM parameters to your campaign URL, but Adobe Analytics still shows one Tracking Code value instead of separate dimensions such as utm_source, utm_medium, and utm_campaign.

This is expected. Adobe Analytics does not automatically convert UTM parameters into individual reportable dimensions. It receives the campaign value as a single string through the Campaign variable, commonly represented as s.campaign or v0.

The solution is to create a consistent structure for that string and classify it afterward. In this guide, we will capture five UTM parameters, combine them into one pipe-delimited value, and use a Classification Set to split the value into separate UTM classifications.

How the Data Flow Works

The implementation follows this pattern:

Landing-page URL————>UTM parameters————>s.campaign / Tracking Code————>Classification Set————>Separate UTM dimensions in Adobe Analytics

For example, this URL:

https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale&utm_content=blue_banner&utm_term=running_shoes

will be stored as:

google|cpc|summer_sale|blue_banner|running_shoes

The Classification Set can then map each position to the correct field:

utm_source | utm_medium | utm_campaign | utm_content | utm_term

 

Step 1: Capture the UTM Parameters in s.campaign

In Adobe Launch, click Extensions → Adobe Analytics Extension → Configure Tracker Using Custom Code, use the following code:

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

The revised code requests each UTM parameter by name and assembles the values in a fixed order.

For this URL:

https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale&utm_content=blue_banner&utm_term=running_shoes

Adobe Analytics receives:

google|cpc|summer_sale|blue_banner|running_shoes

Important: If your implementation already uses s.doPlugins, merge this logic into the existing function. Do not replace the existing function without reviewing its current code.

Step 2: Verify Collection Before Creating Classifications

Before configuring Adobe classifications, confirm that the website is sending the expected campaign value.

Open a test URL such as:

https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale&utm_content=blue_banner&utm_term=running_shoes

Then inspect the Adobe Analytics network request using your browser’s developer tools or an Analytics debugging tool.

Look for the v0 parameter. It should contain a URL-encoded version of:

google|cpc|summer_sale|blue_banner|running_shoes

For example, the pipe characters may appear as:

google%7Ccpc%7Csummer_sale%7Cblue_banner%7Crunning_shoes

This test proves that the implementation is sending the Tracking Code value. It does not yet prove that the classifications are configured correctly.

Step 3: Create a Classification Set

In Adobe Analytics, go to「Components」——「Classification sets」——「New」:

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

Create a Classification Set for:

  • Name:Typically follows: Report Suite + Variable + Classifications
  • Notify of issues:The owner responsible for managing the set
  • Subscriptions:Select at least one report suite and the classification variable

Save after configuration.

 

Step 4: Add Classification Fields (Schema Setup)

Open the Classification Set,click「Schema」——「Add」,Add these five classifications: utm_source、utm_medium、utm_campaign、utm_content、utm_term

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

Use names that are clear to analysts because these classifications will appear as reportable dimensions in Analysis Workspace.

Your schema should look like this:

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

 

Step 5: Configure Classification Rules

Click 「Rules」,Drag Regular Expression into the workspace,add a Regular expression rule with this pattern:

^([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)$

Then assign the capture groups as follows:

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

The anchors ^ and $ require the complete campaign value to match the expected five-position structure. Each ([^|]*) group captures one value until the next pipe character.

Adobe documents this general approach: use capture groups in a regular expression and assign $1, $2, $3, and so on to classification fields.

Select Save after configuring the rule.

 

Step 6: Test the Rules

Use a sample value such as:

google|cpc|summer_sale|holiday|running_shoes

Then select Test rule set.

How to Track UTM Parameters in Adobe Analytics Using Classification Sets

This test proves that the classification logic can split a correctly formatted Tracking Code value. It does not prove that your website sends the same format.

Step 7: Activate the Rule

Once the sample test returns the expected classifications, save the rule configuration and select Activate.

Step 8: Data Validation

After Adobe finishes processing the classification data:

  • Open Analysis Workspace.
  • Add a relevant metric, such as Visits, Orders, or Revenue.
  • Add one of the new UTM classifications, such as utm_source.
  • Search for the test value, such as google.

You should eventually see values

Summary

UTM parameters do not become separate Adobe Analytics dimensions automatically. You need to define how the values are collected, stored, classified, and validated.

The recommended workflow is:

  • Capture the UTM parameters by name.
  • Store them in a consistent order in s.campaign.
  • Confirm the Tracking Code value in the Analytics request.
  • Use a Classification Set to split the value into separate UTM classifications.
  • Validate the results in Analysis Workspace after processing is complete.

If you want to keep all UTM data in the Tracking Code dimension and avoid using additional eVars, Classification Sets are a practical option. If each UTM parameter requires independent persistence, expiration, or attribution settings, separate eVars may be more appropriate.

I have to admit that the classification rule itself is usually not the hardest part. The real challenge is maintaining a consistent campaign naming convention across marketing teams, URLs, implementation code, and reporting. Document that convention before launching new campaigns, and the rest of the workflow becomes much easier to manage.

Like (4)
Post my comment
Cancel comment
Expression Bold Strikethrough Center Italic

Hi, you need to fill in your nickname and email!

  • Nickname (required)
  • Email (required)
  • Website