Google Tag Managerでパスごとに読み込むscriptを変更してパフォーマンス劣化を防ぐ+Adsenseタグの配信方法

eBayのスマートタグを記事ページのみ配信してみる

eBayパートナーネットワークのスマートリンク機能は、Scriptタグを配置することでページ内のebayリンクを全てアフィリンクに置き換えてくれるスグレモノ。ただ、Lighthouseのスコアを悪化させるので不要なページには置きたくない。

そこでタグマネージャーを使って記事ページのみにこのスクリプトを配信する。

f:id:gensobunya:20191109112329p:plain
trigger

トリガー設定でPage Pathを/postに指定することで、トップページやタグ記事一覧のページを対象外にして配信できる。 これまでなら面倒なJavaScriptを書かなければならなかったことを考えると大変にかんたん。素晴らしい。

2019/10からのAdsenseタグと相性悪くてクソ

<head>タグ内に配置することが必須なタグはGTMで配信しづらい。

代表例はアドセンスの自動広告タグ(2019/10最新版)。こいつは<head>内配置指定されている。

<script data-ad-client="/*your adsense id*/" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

回避策は古いタグを使って「HTMLタグ」を使って配信すること。機能に変化はない。

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "/*your adsense id*/",
    enable_page_level_ads: true
  });
</script>