サイトの
サーバ側プログラムでプロモーション枠
とプロモーション要件
と
この、バナー配信、<wbr>メッセージ配信
と、プロモーション要件
を
目次
[TOC]
参考
Google Tag Managerを
使って バナーや メッセージを デプロイなしに 切り替える - $shibayu36->blog;
実装の参考に させて 頂いた 記事に なります。 Googleタグマネージャに
新マクロ 「ルックアップテーブル」が 登場
ルックアップテーブルの参考記事に なります。
このあたりの 領域の 課題を 解決する 方法
調べてみた
自社で、 メッセージ配信、 バナー配信サーバ を 構築する
自分が
有料の
オープンソースの
DMP や、 マーケティングオートメーションツールを 使う
この分野は
メール配信だけじゃないMarketoの
魅力:広告連携・レポーティング編 | マルケトブログ|マーケティングオートメーション 広告配信に
CRMデータを 活用する ための 3つの 手法と 課題 | BLOG | シナジーマーケティング株式会社 SynergyMarketing
実装方法 switch 文で ユーザ属性を 判定して 文言を 切り替える
Google Tag Managerを
gtm-banner-example | kemsakurai.github.io
以下、
- HTML に
dataLayer 変数 を 定義する - データレイヤーの
変数を 作成する - トリガーを
作成する - HTML カスタムタグを
作成する
HTML に dataLayer 変数 を 定義する
サンプルページには
ユーザ個人を
<script> var userTypes = ['A','B','C']; var userType = userTypes[Math.floor(Math.random() * userTypes.length)]; window.dataLayer = window.dataLayer || []; dataLayer.push({'userType': userType}); </script>
データレイヤーの 変数を 作成する
デフォルト値 UNKNOWN
の
トリガーを 作成する
Page Path
を
トリガーのページビュー・ウィンドウの<wbr>読み込み
に
HTML カスタムタグを 作成する
以下のような HTML カスタムタグを
userType
でuserType
の
<script> var userType = {{userType}}; var container = document.getElementById("gtm-banner-container"); if (typeof container !== "undefined") { switch (userType) { case "A": container.innerHTML = '<p>Hello GTM banner! Type [' + userType + ']</p>'; break; case "B": container.innerHTML = '<p>こんにちわ GTM banner! Type [' + userType + ']</p>'; break; case "C": container.innerHTML = '<p>Olá GTM banner! Type [' + userType + ']</p>'; break; default: container.innerHTML = '<p>GTM banner! Type [' + userType + ']</p>'; break; } } </script>
バナーの 出力イメージ
上記の
ルックアップテーブルに より メッセージの 切り替えを 行う
GTM には、
Googleタグマネージャに
このサイトには、
今回は、
- バナー文言を
返す カスタムJavaScript 変数 を 作成する - ルックアップテーブルを
作成する - HTML カスタムタグを
作成する
バナー文言を 返す カスタムJavaScript 変数を 作成する
ルックアップテーブルで
ユーザーの
A Banner
A Banner には、showdownjs/showdown: A Markdown to HTML converter written in Javascript を 使って マークダウンから 文字列を 変換するように してみました。 画面の HTML側に、 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.8.2/showdown.js"></script>
を追加して、 読み 込んだ showdown.js を 使用しています。 function() { var converter = new showdown.Converter(); var text = '**Hello, markdown! A Banner!!** \n\ この文言は、GTMからマークダウン形式で配信しています。\ '; var html = converter.makeHtml(text); return html; }
B Banner
function () { return '\ <p>Hello B Banner</p>\ <p>この文言は、GTMからHTML形式で配信しています。</p>\ '; }
C Banner
function() { return "<p>Type C Banner</p>"; }
Default Banner
function() { return "<p>Default Banner</p>"; }
ルックアップテーブルを 作成する
上記の
入力とuserType
を
HTML カスタムタグを 作成する
ルックアップテーブルを
<script> var container = document.getElementById("gtm-banner-lookup-container"); if (typeof container !== "undefined") { var html = {{userTypeBannerTable}}; container.innerHTML = html; } </script>
まとめ
GTM を
データレイヤ変数を
用いる ことで、 ユーザの カテゴリごとに、 メッセージ配信を 作る ことは できる。 実装方式は、
switch 文、 if 文を 用いて、 ごりごり 記述も、 ルックアップテーブルを 用いて、 分岐ロジックと 文言の 外だしもできる。 JavaScript が
得意で、 大した メッセージの 配信を 行わない 場合、 GTM で JavaScript を 記述する ほうが わかりやすいかもしれない。 JavaScript を
実装したくない、 中、 大規模に メッセージ配信を 行う 場合は、 ルックアップテーブルと、 カスタム JavaScript で 外だしした ほうが 使いまわしが きく。
カスタム変数で、
以上です。
コメント