GTMのカスタムJavaScriptを使って、特定の条件下でタグを発火させる方法

GTMのカスタムJavaScriptを使って、特定の条件下でタグを発火させる方法

昨今の広告運用では、プラットフォームの自動入札機能の利用が常識になっています。マイクロコンバージョンや除外コンバージョンの設計も運用者の重要な仕事のひとつとなり、タグマネジメントツールを利用する機会も増えてきました。

そんな中、タグ管理の初級者がつまずきがちなのが、「URLを発火条件に利用できないケース」ではないでしょうか。

今回は、上記のようなケースに対して、Google Tag Manager(以下、GTM)のカスタムJavaScriptを利用して、特定の条件下でタグ発火させる方法をご紹介します。

>>オーリーズが分かる資料セット(サービス資料・事例集)のダウンロードはこちらをクリック<<

GTMのカスタムJavaScriptとは

指定の変数の値を取得する「ユーザー定義変数」の一種であり、文字通りオリジナルのJavaScriptを利用することのできる機能です。

ユーザー定義変数の編集画面で「変数のタイプ:カスタムJavaScript」を選択すると、フリーフォームが表示され、ここに任意のJavaScriptを記述します。

カスタムJavaScriptは値を返す匿名関数の形式をとる必要がありますので、JavaScriptの記述は必ず「function(){」で始まり「}」で終わる形にして、関数として「return ○○」という形で値を返す必要があります。

参考:ウェブ用のユーザー定義変数タイプ

例えば、カスタムJavaScriptで100という値を返したい場合は、以下のような記述となります。

function(){
return 100;
}

カスタムJavaScriptの利点は、きわめて柔軟にページ要素を取得できることです。しかし、自由度が高いゆえに、WEBサイトの仕様を考慮して設計できるJavaScriptの知識が求められます。

各ケースにおける変数設計~タグ実装

以下より、2つケースについて、カスタムJavaScriptを使った変数の設計とタグ実装の方法をご紹介します。

ケース1: 複数商品を扱うECサイトで、1つの商品に対してのみプロモーションをおこなう

<要件>

  • 特定の1つの商品(商品A)が購入されたときのみCVタグを発火させたい
  • CVタグの発火タイミングは購入完了ページとしたい(ただしURL指定は不可)

やるべきことは大きく3つです。

  1. 購入完了ページ上で商品Aを特定できるページ要素を見つける
  2. 購入時に当該ページ要素を取得する変数を作成する
  3. 当該変数をGTMで実装する

まず、Google Chromeデベロッパーツール(以下デベロッパーツール)を開き、購入完了ページで商品Aを特定できる要素を探します。

今回は例として、「sample_product_description_name」というclassにおいて「商品A」というテキストを含んでおり、これが上述の1を満たしていると仮定します。

次に、「同時に複数商品が購入される可能性」なども考慮して、このページ要素を取得するための変数を設計します。

function() {
 var myNodeList = document.getElementsByClassName('sample_product_description_name');
 var flg = false;
 for (var i = 0; i < myNodeList.length; i++) {
  if(myNodeList[i].textContent.indexOf('商品A') != -1)flg=true;
 }
 return flg;
}

参考までに、記述したJavaScriptを分解してざっくりと解説します。

変数が設計できれば、デベロッパーツールのコンソール機能を利用して正しく動作するかを確認します。

作成したJavaScriptを実行し、結果に「true」が表示されれば成功です。(上述の2完了)

続いて、GTMで変数を作成し、トリガーとタグを設定します。

ワークスペースに入り、変数ページから「ユーザー定義変数」を新規作成します。

任意の変数名(例:変数_商品A)を記入し、変数タイプ「カスタムJavaScript」を選択後、フリースペースに先ほど作成したJavaScriptを記述します。

次に、作成したユーザー定義変数を参照するトリガーを作成します。

任意のトリガー名(例:商品A購入完了)を記入し、トリガータイプ「ページビュー」を選択します。

トリガーの発生場所は「一部のページビュー」を選択し、条件設定は購入完了ページと作成したユーザー定義変数を掛け合わせるかたちで設定します。

最後に、発火させたいCVタグに作成したトリガーを設定して完了です。

ケース2:会員登録を目的とする人材サービスで、特定の資格保有者のみを成果定義とする

<要件>

  • 会員登録ページにチェックボックス形式で表示されるA~Eの5つの資格のうち、「資格A,B,C」のどれかがチェックされた状態で、「次へ」ボタンが押下された時のみCVタグを発火させたい

やるべきことは大きく3つです。

  1. 会員登録ページ上で対象のチェックボックスを特定できるページ要素を見つける
  2. 「次へ」ボタン押下時に「資格A,B,Cのチェック状態」を取得する変数を作成する
  3. 当該変数をGTMで実装する

まずは、デベロッパーツールで対象のチェックボックスを特定できる要素を探します。今回は例として、「sample_checkbox」というclassが上述の1を満たす要素であると仮定します。

これを先ほど同様に要素取得し、かつ当該のチェックボックスのチェック有無を取得する変数を設計します。

作成したJavaScriptをデベロッパーツールのコンソール機能で実行し、「true」が表示されれば成功です。(上述の2完了)

続いて、GTMで変数を作成し、トリガーとタグを設定します。

ケース1と同じ要領で、ユーザー定義変数を新規作成し、フリースペースに先ほど作成したJavaScriptを記述します。

トリガー作成では、トリガータイプを「クリック – すべての要素」にして「一部のページビュー」に発生場所を設定します。

条件設定では、作成したユーザー定義変数に加え、「次へ」ボタン押下イベントを掛け合わせるかたちで設定します。

最後に、発火させたいCVタグに作成したトリガーを設定して完了です。

*****

以上、GTMのカスタムJavaScriptを使って、特定の条件下でタグを発火させる方法についてご紹介しました。同様のケースに直面した際の参考になれば幸いです。

オーリーズは、クライアントの「ビジネス目標達成」に伴走するマーケティングエージェンシーです。

「代理店の担当者が自社の業界・戦略に対する理解が不足しており、芯を食った提案が出てこない」
「新規の広告出稿に関する提案が中心で、最終的なビジネスゴールに紐づく本質的な提案がもらえない」
「広告アカウントが開示されないため、情報が不透明で自社にノウハウやナレッジが蓄積しない」

既存の広告代理店に対してこのようなお悩みをお持ちの場合は、一度オーリーズにお問い合わせください。

オーリーズの広告運用支援では、①運用者の担当社数の上限を4社までに制限②担当者のKPIは出稿金額ではなくNPS(顧客満足度)③アカウントは広告主が保有することを推奨 しており、目先のコンバージョン増加にとどまらず、深い事業理解を基にしたマーケティング戦略の立案や実行支援が可能です。

オーリーズのサービス資料をダウンロードする(無料)
オーリーズのコーポレートサイト
支援事例(クライアントの声)
オーリーズブログ

オーリーズへ問い合わせる

この記事を書いた人

株式会社オーリーズ

アシスタント・マネージャー

北原 直明

保険代理店向けの営業管理パッケージシステムの導入・開発に従事。開発責任者として開発基盤の刷新やAmazon Web Services基盤への移行プロジェクトのPMに従事。その後、自分のエンジニアリングスキルをマーケティング領域で活用すべくオーリーズに入社。広告運用を通じ、各種広告チャネルとマーケティングツールを基盤データ連携できるストラテジストとして邁進中。

最近書いた記事