如何强制GTM在<head>中添加标签?

7
我已经按照以下步骤在我的网站上添加了AdSense脚本:
  1. 复制代码并前往GTM。
  2. 创建一个新标签。
  3. 提供名称。
  4. 选择自定义HTML作为标签模板。
  5. 将代码粘贴到文本字段中。
  6. 将触发器设置为在所有页面或您想要展示广告的页面上触发。
  7. 单击“保存并提交”以将代码推送到生产环境。
我已完成上述步骤,一切正常。这是完整的代码:(在Google标签管理器中定义为标签)
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-<token>",
    enable_page_level_ads: true
  });
</script>

问题:

上述脚本将单独添加到DOM中。我是说,这部分内容:

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

追加到<head>部分,这部分内容:

<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-<token>",
    enable_page_level_ads: true
  });
</script>

追加到 <body> 部分。所以 Google AdSense 说:

代码丢失或不完整

你有什么想法可以让 GTM 强制将这两个脚本依次添加到 <head> 部分中吗?


您可以创建一个脚本元素并将其附加到头部。但是,由于这仅会在GTM加载后发生,因此这很可能是无意义的。 - Eike Pierstorff
1个回答

0
<script>
$('head').append('<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-<token>",
    enable_page_level_ads: true
  });
</script>');
<script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接