ナレッジ
実務ハウツー データ分析

「googletagmanager」のスクリプトエラーが出るときの、切り分け方

ブラウザのコンソールにgoogletagmanager関連のスクリプトエラーが出るとき、原因はGTM本体ではなく、GTMから配信している個別タグの中身であることが大半です。エラーの種類ごとに、どこを見れば犯人にたどり着けるかを整理しました。

文責:サードパーティートラスト編集部

開発中に、コンソールへ「googletagmanager.com/gtm.js」やgtag関連のエラーが出て不安になる、という相談は少なくありません。ただ、ここで大事な前提があります。「GTMのエラー」の多くは、GTM本体の不具合ではなく、GTMから配信している個別タグ(カスタムHTMLや広告タグ)の中身が出しているものです。まずこの切り分けから入ります。

エラーの種類で当たりをつける

  • net::ERR_BLOCKED_BY_CLIENT や読み込み失敗:広告ブロッカーやCSPがgtm.jsの読み込みを止めています。GTMの設定は無関係で、環境側の話です
  • 「◯◯ is not defined」:カスタムHTMLタグや変数で、まだ存在しないdataLayerの値やグローバル関数を参照しています。発火タイミング(トリガー)が早すぎるのが典型です
  • 特定タグのコード内でのエラー:GTMから配信している広告・計測タグのスクリプト自体が投げているもので、GTMは配達しただけです

犯人を特定する手順

  1. コンソールのエラーで、どのファイル・どの行を指しているかを見る。gtm.js内を指していても、その中身は各タグのコードです
  2. GTMのプレビューを開き、そのページで発火しているタグを一覧する
  3. 疑わしいタグを一時停止(またはトリガー条件を絞る)して、エラーが消えるか確認する

これで、どのタグが原因かはたいてい30分ほどで割れます。

よくある根本原因

いちばん多いのは、カスタムHTMLタグがページの読み込み完了前に発火し、まだ用意されていないdataLayer変数やDOM要素を触っているケースです。トリガーを「DOM Ready」や「ウィンドウの読み込み完了」に変えるだけで直ることが多い。GTMの設定を疑うより先に、「そのタグが、必要なものが揃う前に動いていないか」を見るのが近道です。