Expand my Community achievements bar.

Join us at Adobe Summit 2024 for the Coffee Break Q&A Live series, a unique opportunity to network with and learn from expert users, the Adobe product team, and Adobe partners in a small group, 30 minute AMA conversations.
SOLVED

iFrame and postMessage method Help

Avatar

Level 1

Hi all,

i have this problem: in our site we have the a-page with an embedded iFrame.

The iFrame it's under control of the devs and has no Launch script inside.

I want to track some click events that occurs inside that iFrame.

In the Adobe Analytics documentation i found one method to track iFrames- it’s about inserting a code into the page (which I imagine can be done with Launch) and some code in the iFrame. However this method seems specific to trigger a pageview when a user clicks on the iFrame.

 

So, is it possible to track specific events that occurs on click, and save certain informations like we can do with direct calls? 

For example, when the user clicks on the a-element i'd like to have an event with a prop that stores "a-element".

How can i do that?

 

Thank you very much for your time!

 

 

1 Accepted Solution

Avatar

Correct answer by
Level 8

@Ikinet -

postMessage is likely going to be your best option, but your dev team will have to trigger the call from inside the frame. For example, you can have them add an onclick to the links you are interested in that triggers the postMessage event (with the desired event payload). Then, from Launch, you can add an event listener that reacts any time a message comes through, triggering the desired analytics calls.

 

MDN Web Docs details how postMessage works: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

View solution in original post

1 Reply

Avatar

Correct answer by
Level 8

@Ikinet -

postMessage is likely going to be your best option, but your dev team will have to trigger the call from inside the frame. For example, you can have them add an onclick to the links you are interested in that triggers the postMessage event (with the desired event payload). Then, from Launch, you can add an event listener that reacts any time a message comes through, triggering the desired analytics calls.

 

MDN Web Docs details how postMessage works: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage