I have a Custom HTML tag in Google Tag Manager that is actually very simple. It consists of the following code (a GTM Macro):

{{html generator}}

This tag is only fired on the Thank-you page on my website. This firing rule works fine, as I'm using it for a couple of other tags.

The Custom Javascript {{html generator}} macro is more complex. The macro generates one or two image pixels in HTML. Due to the complexity of the image pixels, I cannot use the Custom Image tag. :

<img src="url1/?query1" width="1" height="1" /><img src="url2/?query2" width="1" height="1" />

Via console.log I have verified that the macro Javascript function generates the correct string.

Why is the HTML not executed? I don't believe it is a caching issue as the query parameters always have a different outcome. I believe it is a timing issue.

  • 1
    Remove the closing slash on the img tag. <img> does not have a closing slash. You can also remove the 'type' attribute since all browsers default to javascript.
    – Rob
    Commented Dec 21, 2014 at 15:05

1 Answer 1


From the original poster, originally posted as an edit to the question.

Update: I think I found a solution, but still it is unclear to me why it did not work in the first place.


<script type='text/javascript'>
  var tag = decodeURI({{A4Y segmented tag}});

This solution requires you to check the box: [] Support document.write

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.