Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Using UTM parameters in Adobe Analytics

carlos_santos
Level 2
Level 2

Hi,

Im trying to extract the UTM parameters from the URL's to the campaign variable. I was using this method

http://analyticsdemystified.com/adobe-analytics/using-utm-campaign-parameters-adobe-analytics/

Unfortunately, from my understanding, I can't use the getQueryParam because im using the javascript of Appmeasurement. One solution is using the Util.getQueryParam, but unlike the plug-in, it doesn't support extracting multiple parameters at once.

Here's an example of what im trying to get:

From this URL:

www.exampledomain.com/?utm_source=emailing&utm_medium=email&utm_content=premium&utm_campaign=test-ca...

I want to extract something like this to the campaign variable:

emailing:email:premium:test-campaign

For that I used this sintax:

s.campaign = s.Util.getQueryParam("utm_campaign");

s.campaign = s.Util.getQueryParam("utm_source");

s.campaign = s.Util.getQueryParam("utm_medium");

s.campaign = s.Util.getQueryParam("utm_content");

But the final result is:

campaign = premium

This happens because each line is overwriting one another, correct? How can I extract all the parameters to the campaigns variable?

Thanks.

1 Accepted Solution
ursboller
Correct answer by
Community Advisor
Community Advisor

it happens, because you overwrite your var "campaign" every time you read a param.

use something like this in a data element:

var TCode[];

TCode.push(s.Util.GetQueryParam('utm_campaign'));

// repeat line above for each param

var TCfinal;

TCfinal = TCode.join(':');

return (TCfinal == '::::') ? '' : TCfinal;

// maybe you need to change condition if you have less than 5 params

afterwards you can use your DataElement in your Rules with %elementName%

View solution in original post

3 Replies
ursboller
Correct answer by
Community Advisor
Community Advisor

it happens, because you overwrite your var "campaign" every time you read a param.

use something like this in a data element:

var TCode[];

TCode.push(s.Util.GetQueryParam('utm_campaign'));

// repeat line above for each param

var TCfinal;

TCfinal = TCode.join(':');

return (TCfinal == '::::') ? '' : TCfinal;

// maybe you need to change condition if you have less than 5 params

afterwards you can use your DataElement in your Rules with %elementName%

View solution in original post

kunjalk3064084
Level 2
Level 2

Hi,

the custom code mentioned here shows an error for line 1. the "[ ]" are not accepted. only way to save the code was to declare TCode as a variable not an array. could you help with the syntax to declare an array for custom data element?

Thanks!