web-dev-qa-db-ja.com

Googleタグマネージャーと内部のデータレイヤー

私はこのマーケティングのすべての初心者であるため、ソフトウェア層に関するすべてのことをよく理解しています。フレーズ:「このスクリプトをbodyタグの直後にページに追加すると、動作します」と混乱します。
だから、GTM and Data Layerを理解したい
これは私にとって最も重要な質問です。
これが私がこのことを理解する方法です。

  1. 私が知る限り、GTMはページに読み込まれたJavaScriptコードの一部であり、Tag Manager Accountによって提供されるコードのこの部分を推測できるので便利です(GTM_JS nameを使用します)。 Google Tag Managerサーバーには、資格情報が含まれ、tag.GTM_JSなどの個人のGTMアカウントに設定された情報を取得します。たとえば、HTML and JS codeのようなGoogle Analyticsの一部は、DOMに挿入します。必要なコードGoogle Analyticsを手動で追加する場合も同じです。また、同じように機能しますが、ここでの利点は、sources of your template or php filesを編集せずに任意のコードを動的にインクルードできることです。GTM_JSのみが必要です。

  2. まさにData Layerとは何ですか。これは、どこかに渡す必要がある単なるデータの配列であることを理解しています。 GTM_JSが読み込まれている間、情報が含まれている場合はdataLayer変数をチェックし、そうであればGTM Serverに送信すると、GTMサーバーはすべてのMacrosおよびRegexをチェックします(GTMのすべての機能がわかりません)一部のdataLayerコードには{{product_price}}のようなマクロ定義が含まれている場合があり、そのような定義が見つかった場合は出力tag code固有の変数に挿入するため、tags変数を解析します。

  3. その後、GTMサーバーは他の処理を行い、GTM_JSへの応答として単純なHTMLコードを返します。このコードはDOMに追加されます。

そして質問

  1. ページソースでtag sourceコードが見つからないのに、なぜ機能するのですか?それは何とか隠されていますか?
  2. 私が推測できるように、データ層にプッシュされたデータは、最初にphp,Ruby,pythonのようなサーバー側スクリプトで生成する必要があります。たとえば、User idは、一部のPhp session variableで出力HTMLを生成しているときにのみ使用でき、<script> var dataLayer.userId = $user_id;</script>(疑似コード)のような出力が必要です。では、なぜdataLayerなしで生成された変数を動的に使用できないのは、ページに挿入された目的のスクリプトコードで指定するだけです(dataLayerの場合と同じ)。 DataLayerを使用する利点は何ですか?

どんな対応にも感謝します。ありがとう。

1
CROSP

1)タグのソースは、GTM_JSから実行時に含まれます。 GTMスニペットだけが表示されます。

2)先に進んでページで変数を使用できることは正しいです。 GTMで魔法が起こるのは、タグの1つに変数が必要な場合です。たとえば、ユーザーのステータス(ログインまたは匿名)をGoogleアナリティクスのカスタムディメンションとして設定します。このステータスを渡す唯一の方法は、データレイヤーを使用することです。

1
Adam Smith