Expand my Community achievements bar.

Adobe Analytics Champions applications are now OPEN! Applications are open through June 2nd. Click the link to learn more and apply.
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%

0 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!