Expand my Community achievements bar.

Join us January 15th for an AMA with Champion Achaia Walton, who will be talking about her article on Event-Based Reporting and Measuring Content Groups!
SOLVED

Using UTM parameters in Adobe Analytics

Avatar

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

Avatar

Correct answer by
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

Avatar

Correct answer by
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%

Avatar

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!