Passing UTM parameters using Google Tag Manager on iOS -
i trying pass utm campaign parameter (which have locally in app different source) google tag manager along transaction event able associate transactions campaigns. use data layer send data: [self.tagmanager.datalayer push:combinedparameters]
event set transaction in combinedparameters
.
the transaction data being tracked correctly there no associated campaign data utm_source
, utm_medium
etc. visible in analytics website. passing of them in combinedparameters
. tried sending through [self.tagmanager.datalayer pushvalue:val forkey:key];
using utm_source
etc keys , using kgaicampaigncontent
.
none of worked. there no documentation (atleast find) helps in understanding how pass utm data through gtm. available 1 google analytics 1 not work in case.
any appreciated.
it's easier wrap head around if consider sdk hit builder measurement protocol.
in gtm, can add mp fields tag using settings found under more settings > fields set. set 3 required campaign parameters (source, medium, name), add following fields:
field name: &cm
value: some-campaign-medium
field name: &cs
value: some-campaign-source
field name: &cn
value: some-campaign-name
to set dynamic values "some-campaign-*", can use data layer variables pull parsed url parameter values gtm's data model.
so, parse url that's coming in, leverage datalayer
gaidictionarybuilder
interface of ga sdk.
- (bool)application:(uiapplication *)application openurl:(nsurl *)url sourceapplication:(nsstring *)sourceapplication annotation:(id)annotation { nsstring *urlstring = [url absolutestring]; gaidictionarybuilder *hitparams = [[gaidictionarybuilder alloc] init]; [hitparams setcampaignparametersfromurl:urlstring]; tagdatalayer *datalayer = [tagmanager instance].datalayer; if([hitparams get:kgaicampaignsource] && [hitparams get:kgaicampaignmedium] && [hitparams get:kgaicampaignname]) { [datalayer push:@{ @"event": @"screenview", @"screenname": @"home screen", @"customcampaignsource": [hitparams get:kgaicampaignsource], @"customcampaignmedium": [hitparams get:kgaicampaignmedium], @"customcampaignname": [hitparams get:kgaicampaignname] }]; } return yes; }
after that, you'd create 3 data layer variables, 1 customcampaignsource
, 1 customcampaignname
, , 1 customcampaignmedium
. add &cs, &cn, , &cm fields, respectively, , tags should collect dynamic campaign data.
Comments
Post a Comment