adamdoe
3/13/2017 - 4:41 PM

Track iFrame Forms

Track iFrame Forms

//THIS GOES ON CUSTOM THANK YOU PAGE IN SS
<script>
try {
  parent.postMessage('formSubmit', '[PARENT FRAME DOMAIN...DEBUG IN CONSOLE IF NEEDED]');
} catch(e) {
  // Something went wrong...
  window.console && window.console.log(e);
}
</script>
<script type="text/javascript">
  (function(window) {
    addEvent(window, 'message', function(message) {
      var dataLayer = window.dataLayer || (window.dataLayer = []); 
	// The message.data value is arbitrary and can be customized
        if (message.data === 'formSubmit') { 
        dataLayer.push({
          'event': [TYPE EVENT NAME HERE],
          'eventCategory': '[TYPE EVENT CATEGORY HERE]',
          'eventAction': '[TYPE EVENT ACTION HERE]',
          'eventLabel': '[TYPE EVENT LABEL HERE]' 
        });
      }
      else {
          console.log('No message data');
      }
    });
    // Cross-browser event listener
    function addEvent(el, evt, fn) {
      if (el.addEventListener) {
        el.addEventListener(evt, fn);
      } else if (el.attachEvent) {
        el.attachEvent('on' + evt, function(evt) {
          fn.call(el, evt);
        });
      } else if (typeof el['on' + evt] === 'undefined' || el['on' + evt] === null) {
        el['on' + evt] = function(evt) {
          fn.call(el, evt);
        };
      }
    }
  })(window);
</script>