Modal Window Tracking using DTM



I received a request to implement tracking on a series of modals that will be launched on the search results and content pages of our main site. I need to capture the name of each modal window in the step-by-step process. The first modal is the login or registration. I also need to know how many visitors opened the login/registration modal, but did not take any action.

I will be able to capture the modal windows names using the h2 id. I know how to implement the interactions within the modal windows, but I don't know how to capture the modal name when the modal is activated. 

The main site where the modals will be added was implemented using DTM. I use a data layer to capture the page names on the site. I don't think that I want to do the same for the modal names. 

I need advice on how to tag the modal windows so that I can report access to each of the windows.

Thank you,


Accepted Solutions (1)

Accepted Solutions (1)



Hi Bill ,

As per the Scenario mentioned above, You can use Direct call rules to track modal window which will require firing _satellite.track() calls from the code of your Modal Window.

Please see the following link for more information about the Direct Call Rules.

Thanks & Regards

Parit Mittal

Answers (6)

Answers (6)


Community Manager


Have you tried using the forum submit event based rule in DTM rather then submit button click? Otherwise, you could always grey out the button until validation has passed.



Hi I ran into a similar issue. My case is, when user clicks a link, a modal form pop up, Then I will need to track the submit of this form. I can not use the click of the submit button only because the validation may fail. I want to track the next confirmation form. It is a modal as well. I tried to use direct call. I tried to check the text actually is showing on the conformation form. But it didn't work. I am wondering what text should I check for the direct call rule?




Hey Bill,

Could you not use onclick event tracking if they click to open the modules?

This should trigger the rule which you can then fire events and/or populate any variables you wish.