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
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adding a Google Analytics tag to a page load rule in DTM

mcbutterfant
Level 1
Level 1

Hi All,

I've been asked to insert a Google Analytics tag to a page load rule in DTM.  I've implemented it in the normal fashion (sequential javascript), however, I need the tag to be populated with data by pulling in the data from data elements.

I've used the following formats and nothing seems to work:

* %data_element%

* _satellite.getVar('data_element')

* _satellite.getDateElement('data_element')

Our partners checked their Google Analytics instance and for the top option they are seeing %data_element% rather than the actual data.  For the other two formats they received no transaction data at all.

Attached is an image of the code (identifiable names changed), the three items in red are the objects that I want to be populated by data elements.

Any help would be greatly appreciated!

Thanks

Matt

Google Analytics tag.jpg

1 Reply
nikitaf2673776
Level 5
Level 5

When you're setting the Insurer, product type and name in the GA tag are you surrounding the data elements by quotes?

i.e. are you doing this      ga('gcg.set','dimension70,"%data_element%");

or are you doing this       ga('gcg.set','dimension70,%data_element%);

you should be doing the second one  

mcbutterfant
Level 1
Level 1

Hi nikitarama,

I've tried both ways.  The second option without the quotes brings up an error in DTM:

error s.s.jpg

nikitaf2673776
Level 5
Level 5

Try something along these lines:

var insurer = _satellite.getVar('data_element');

then later...

ga('gcg.set','dimension70, insurer);

Edit: Check your data elements, are they javascript elements? Do they have a path that is different from their name?

Edit2: Are the data elements properly set up? Go to the page, open the dev console and enter _satellite.getVar('data_element'); Does the value you're expecting come up?

DeepakKar
Employee
Employee

Within custom code, you should use _satellite.getVar('data element name') to access the data element value.

I would recommend you first validate the data element value in browser console and proceed from there. Improper set up or timing issues could be resulting in empty data element at access time.

mcbutterfant
Level 1
Level 1

Hi DeepakKar

After testing this method works but intermittently.  Our partner can see data populating for one test transaction but nothing for the rest of the transactions. 

Could this be due to a timing issue?

Thanks

Matt

Rydal_Williams
Level 4
Level 4

Probably a timing issue, is the data element pulling data from a data layer object on the page that is updated via ajax?