Dynamic Tag Managementレビュー2:ルール作成

Post date: Oct 16, 2013 3:30:30 PM

前回の記事(その1)では、Web Property(サイト定義)を作成し、Adobe Analytics との連携をToolとして設定し、ユーザー属性である「Data Element」を作成するところまで進めました。

今回は、ルールを作成します。

タグの出現条件というより「何をいつ何に送信するか」

「ルール」と聞くと、URLのマッチや時間指定のような単純な条件によるタグ出力の制御のように聞こえますが、Dynamic Tag Managementでの「ルール」は、もっと広い概念です。

例えば、クリックやフォーム記入などのイベントや画面上の要素の有無、サイト滞在時間や訪問回数、新規/リピートなど、ユーザーの行動データをタグの表示条件にし、さらにカスタム変数にセットすることができます。

つまり、「ユーザーの行動データを得て複数システムに送り込む方法」というようなイメージです。

Googleタグマネージャーにもマクロという機能がありますが、「送ってもらったデータを受け取って活用する」という消極スタンスなのに対し、Dynamic Tag Managementの場合は自分から積極的にデータを取りに行きます。(Data Layerに値をセットするなど)サイト側で実装を変更する必要はありません。

また、ユーザー行動データをタグマネージャー側で保持してくれます。セッションを超えて保持できます。

従来のタグマネージャーはスタティックなタグ(共通の固定文字列)を出力するのに対して、こちらはユーザーの行動に合わせて動的にタグ(というより行動データの送信方法)を変化させます。だから「ダイナミック」なんですね。

実際に導入してみよう

例として、以下のようなデータをAdobe Analyticsに送り込むルールを作成してみます。

まずページ共通のルールを作成

Ruleは大きく以下の3種類に分けられます:

ルールの中に条件やセット内容を細かくて意義できるので、ルールは大きな単位で作成した方が管理が楽になります。GAとAdobe Analyticsでルールを分ける必要はありません。

そこで、まず全ページ共通の「ページがロードされた時点で実行されるルール」を作成します。従来のcode to paste(変数をセットしてs.t()を実行するコード)に相当するルールと言えます。リンク計測はタイミングや内容が異なるので、後で別のルールを作成します。

まず、Page Load Ruleを作成する画面を開きます。

Rule Conditionを設定する

「Create New Rule」をクリックして表示される入力フォームで、ルールを設定します。

Name:ルールの名前を入れます。これは必須ですね。

Metadata:ルールが増えた場合に識別するためのメタデータ(=ラベル、タギング)です。ルールが少ない場合は不要でしょう。増えて管理が大変になったら、ツール名やドメイン名、担当者名などのメタデータをセットできます。

Conditions:まず、ルールを実行するタイミング(タグを入れる場所)を指定します。ユーザーにとってのパフォーマンスと計測の精度のバランス、他のスクリプトとの関係、計測で利用する他の要素の位置やレンタリング順番などを考慮して決めます。何をどう実装しているかにもよるので、開発者に相談すると良いでしょう。多くの場合は、「Bottom of Page」(つまりbodyを閉じるタグの直前)で良いでしょう。

Criteria:ルールを実行する条件を指定します。プロトコルやドメイン、パラメータなどのURL情報、Cookie状態やブラウザ、OS、デバイスタイプ、解像度などの技術的な情報、リンク元や入口ページ、新規/リピートなどのアクセス情報から選べるので、柔軟な条件を指定できます。

このうち、「Sessions」(セッション)はサイトへの訪問回数を意味します。タグマネージャ側で訪問回数をカウントしてくれるのです。Cookieを自分でセットしてカウンターにする必要はありません。

今回は、シンプルにドメインとプロトコルを指定してみました。

複数指定できることを示すために、プロトコル「HTTP」はわざとらしく入れています。通常はドメインだけで十分でしょう。

何も指定しないと、常に実行されるようになります。

Adobe Analyticsのタグをカスタマイズする

さて、次はツールごとの設定です。

今回は「Adobe Analytics」のみ設定します。

ページ名やサイトセクション、URL、階層などの変数をセットできます。

これらの欄には、固定文字列を入れるか、%で囲んでData Element名を指定します。

例えば、ECサイトの購入完了ページのみのルールを作る場合は、ページ名を「Purchased」などにべた書きできますが、多くの場合はページによって値が異なるので、Data Elementを指定することになります。

なお、Web Propertyのツール定義画面でも同じ設定が可能です。ツール側ではサイト全体の共通設定をしておき、こちらのルール側ではルールに固有の上書き設定を指定します。

今回はページ名のみセットしました。以下のようなData Elementを先に定義してあります。

「Open Editor」ボタンをクリックすると、カスタムのJS文を書けます。ここでreturnした内容がData Elementにセットされます。s_codeのプラグインのようなものですね。

s.campaign:パラメータ名を指定できます。s_code.jsにs.campaign = s.getQueryParam('XXX');と書くのと同じです。

eVarsとPropをセット

今回の要件に従い、eVar 1にはtextパラメータから取得するサイト内検索のキーワードをセットします。先にData Elementを作成しておく必要があります。

「%」とタイプすると、定義済みのData Elementが候補として表示されるので、その中から選ぶと確実です。

ついでに、Prop 1にeVar 1の内容をコピーする設定も追加してみました。

この設定は、結果的には「s.prop1="D=v1;」というダイナミック変数を利用したJS文として出力されます。

Eventはこのページ計測では不要なので、スキップします。

次に、変数がいろいろ続きます。

Server:サーバーのドメインを入れたいところですが、それはサイト全体での共通設定なので、Web PropertyのTool定義画面で設定すべきです。

Referrer:リファラを上書き指定できます。例えば、リダイレクトによってリファラが消えてしまう場合、リダイレクト前のページでセッションをスコープとしたData Elementにリファラを入れておき、リダイレクト後のページでそれをここでリファラとして指定する、という使い方ができます。

Visitor ID:例えばCookieやログインフォームへの記入内容などからデータを得るData Elementを作成し、セッション間で引き回して全ページでセットできます。

Transaction ID:例えば注文完了画面に表示される注文番号を取得するData Elementを作成し、ここでセットできます。

StateZip:注文者の都道府県と郵便番号。注文フォームでこれらを入れる欄があれば、そのデータを取得しておき、Data Elementでページ間を引き回し、注文完了ページでStateとZip変数にセットできます。

Custom Page Code:「Open Editor」をクリックし、カスタムのJavaScriptコードを入力できます。

シンタックスによる色分けや構文チェックなど、充実しています。

これは例です。ページ名はData Elementを作成したので、今回はこのカスタムコードは使っていません。

「ツール」ではないタグはそのまま貼付ける

このように、「Tool」を選んだ場合は、そのツールに特化した各種の入力フォームが提供され、変換や自動処理などを行ってくれます。例えば、Adobe AnalyticsをPage Load Ruleで指定した場合は、自動で s.t(); を実行してくれます。

Googleアナリティクスもツールとして定義されているので、楽に導入できます。

ツールとして定義されていないその他サービスのタグの場合は、この下の「JavaScript/Third Party Tag」の欄にコードの固まりを貼付けることになります。

Non-Sequentialは非同期、Sequentialは同期で実行されます。HTMLの出力は同期のみです。

メモを書いて保存

さて、全部指定が終わったので、変更内容をNote(メモ)に記入してから保存します。

保存すると、自動でバージョンが作成され、比較やロールバックができるようになります。

また、保存と同時に承認依頼が飛びます。作業途中で保存する場合は、その旨をNoteに書いておくと良いかも。

保存されたルール

これで、ルールが保存されました。

どのツールやタグが出力されるかがチェックマークで分かります。左からAdobe Analytics (SiteCatalyst)、Target、Googleアナリティクス、その他JSタグ、のアイコンが並んでいます。

次回は、承認と配信へと進みます。