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

SOLVED

DTM data element targeting component of array

Frank_Lee_-_UT
Level 2
Level 2

Hi,

 

I have a page at:

 

http://www.threeekings.com/dtm/demosite/consumerJSON.html

 

There's a data layer with an element 'planCategory'. In the console, I can access the element's value by typing:

consumerJSON.planProfiles[0].planCategory


which returns:

"MAPD"

 

But when I try to create a data element to do the same thing, I get empty quotes:

_satellite.getVar('planCategory')
""

 

My attempts to create a functioning data element include:

- JS Object, with Path = window.consumerJSON.planProfiles[0].planCategory

- JS Object, with Path = consumerJSON.planProfiles[0].planCategory

- Custom Script, with window.consumerJSON.planProfiles[0].planCategory in the editor

So far, all of the above are giving me

_satellite.getVar('planCategory')
""

or

_satellite.getDataElement('planCategory')
""

in the console

 

Any ideas what I could do differently so that the data element populates with

"MAPD" ?

 

Thanks!
 

1 Accepted Solution
Ben_Bytheway
Correct answer by
Employee
Employee

Hey Frank,

So, the problem is that when you use a js Object reference, the path can't contain bracket accessors to an array element.  So, you can use a custom script which you would do what you were doing above:

return window.consumerJSON.planProfiles[0].planCategory;

Try that out and see if it works.  🙂

 

Ben

View solution in original post

5 Replies
Ben_Bytheway
Employee
Employee

I don't see that data element defined:

[img]Screen Shot 2014-06-06 at 12.05.44 PM.PNG[/img]

Frank_Lee_-_UT
Level 2
Level 2

Sorry, it was un-published and I was using the testing plugin to access the staging DTM tag.

 

Should be there now...

 

Thanks!

Ben_Bytheway
Correct answer by
Employee
Employee

Hey Frank,

So, the problem is that when you use a js Object reference, the path can't contain bracket accessors to an array element.  So, you can use a custom script which you would do what you were doing above:

return window.consumerJSON.planProfiles[0].planCategory;

Try that out and see if it works.  🙂

 

Ben

Frank_Lee_-_UT
Level 2
Level 2

Ben,

 

That worked beautifully, thank you!

 

Frank.

Ben_Bytheway
Employee
Employee

That's great!  You are welcome.

Will you go ahead and select that as the correct answers for future community comers?

Thanks,

Ben