サーバーサイド実装とは
DLPOでは通常、ABテスト・パーソナライズ配信をする際に、JavaScriptスニペットを介して実装(フロントサイド実装)します。この方法は実装が容易な反面、フロントサイドの変更(ページ内要素のスタイルや配置の変更など)に限られるため、動的サイトやプログラムに対する実装が困難なケースがあります。
そこで、専用モジュール・API(サーバーサイド実装)を提供し、導入サイトのウェブサーバーよりDLPOを利用できるようにしております。これにより、動的サイトやプログラムに対する実装を可能とし、より柔軟なABテスト・パーソナライズ配信の実装を実現することができます。
サーバーサイド実装では、ウェブサーバーからABテスト内容が反映されているコンテンツを配信する仕組みとなります。
図1:仕組み
制限事項
- ユーザーを一意に識別するために、DLPO導入サイトから1st Party Cookieを発行することが可能であること。もしくは、DLPO導入サイトで利用している独自の会員ID等、ユーザーを一意に識別する固有な値の利用が可能であること。
- Perl5.8以上が利用可能であること。
- 以下モジュールが利用可能であること。
・LWP::Simple
・CGI
・CGI::Cookie
・Time::Local
・Time::HiRes
・IO::Socket
・strict - クリエイティブの作成は、ページに表示するHTMLデータを登録する方法と、任意のフラグなどを登録して配信されたフラグに応じてページの表示が切り替わるような仕組みをサーバーサイドで実装頂く方法になります。
フラグを使用する方法の場合、フラグによって表示内容を切り替える仕組みを別途ご準備頂く必要があります。 - DLPOキャンペーンにて、ウェブ解析ツール連携はご利用いただけません。
事前準備
- 利用ドメインの登録
アプリにて利用するドメインをDLPOへ登録する必要があります。DLPOサポートへご連絡ください。
既に登録済みの場合は、改めて登録する必要はありません。また、ウェブサイト配信用に取得したドメインである必要はありません。架空ドメインを設定し利用することも可能です。 - 専用モジュールの配布
専用モジュールを配布いたします。DLPOサポートへご連絡ください。
・adlpo.pm
設定手順
1.専用モジュールのアップロード
事前に配布しました専用モジュール(adlpo.pm)を、DLPO導入サーバーへアップロードしてください。
アップロード先のディレクトリ情報は、この後の制御コード設置時に利用します。
2.クリエイティブの登録
クリエイティブは、ページに表示するHTMLデータを登録する方法(HTMLソースを使用する方法)と、任意のフラグなどを登録して配信されたフラグに応じてページの表示が切り替わるような仕組みをサーバーサイドで実装頂く方法(フラグを使用する方法)があります。
クリエイティブ個別登録のHTMLエディターを利用して、いずれかの方法にて記述してください。登録方法の詳細は「クリエイティブ個別登録」をご覧ください。
【HTMLソースを使用する方法】
HTMLをクリエイティブとして登録し配信します。クリエイティブ配信ページでは、取得したクリエイティブをそのまま表示するように実装してください。
図2-1:クリエイティブ個別登録(HTMLソースを使用する方法)
【フラグを使用する方法】
フラグをクリエイティブとして登録し配信します。クリエイティブ配信ページでは、取得したクリエイティブの値を確認し、フラグによって表示内容を切り替えるように実装してください。
図2-2:クリエイティブ個別登録(フラグを使用する方法)
3.制御タグの設置
DLPOを導入するページに、制御タグを設置してください。
制御タグ内のコードではCookieの送信が行われるため、HTMLの出力が始まる前に実行してください。
#!/usr/bin/perl
use lib '/***/';
use adlpo;
my $adlpoClient = new adlpoClient();
$adlpoClient->startSession();
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>未経験からエンジニアを目指すなら テック・キャリア・パートナーズ</title>
・ ・ ・ ・
※「***/」の部分は、adlpo.pmのアップロード先ディレクトリのパスを記載してください。
上記コードでは、1st Party Cookieを利用したトラッキングが行われます。
1st Party Cookieが利用できないケースや、CVページでドメインが変わる場合等ではトラッキングできなくなるため、次の【独自ID利用の場合】のコードをご利用ください。
【独自ID利用の場合】
独自IDを利用する場合の制御タグになります。太字部分が通常の制御タグとは異なる箇所となります。
「$user_id」には、セッションで管理されるランダム文字列や会員ID等、ユーザーを一意に識別する固有のIDを設定してください。「$user_id」に利用できる値は、半角英数字と記号「-(ハイフン)」及び「_(アンダーバー)」を含む32文字以下の文字列となります。
「adlpoClient」クラスの「setCustomUserId」関数で独自IDを設定してください。
#!/usr/bin/perl
use lib '/***/';
use adlpo;
my $adlpoClient = new adlpoClient();
my $user_id = "abcdefg123456789";
$adlpoClient->setCustomUserId($user_id);
$adlpoClient->startSession();
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>未経験からエンジニアを目指すなら テック・キャリア・パートナーズ</title>
・ ・ ・ ・
※「***/」の部分は、adlpo.pmのアップロード先ディレクトリのパスを記載してください。
4.エリアタグの設置
クリエイティブを配信し表示を切り替えるページ(例:トップページ or LP)に、エリアタグを設置してください。エリアタグは、DLPO管理画面のダイレクトコード設定>エリアタグ作成より、作成することが可能です。
「エリア名」、「利用言語」、「文字コード」を指定し、「作成」ボタンをクリックしてください。入力内容よりエリアタグが作成されます。「コピー」ボタンをクリックし、対象ページに設置してください。
図3:エリアタグ作成画面(ダイレクトコード実装)
赤字部分がエリアタグのコード部分になります。
制御タグにて生成した「adlpoClient」クラスのインスタンスを第一引数に指定し、「adlpoMain」クラスを生成してください。第二引数には「delivery」を指定してください。
切り替えるコンテンツのデフォルトHTML部分を囲うように、エリアコードを貼り付けてください。「isDefault」関数にてデフォルトHTMLの表示可否を判定します。「getCreative」関数にて、表示するクリエイティブを取得できます。
クリエイティブは、HTMLソースを使用する方法とフラグを使用する方法がございます。詳細は「2.クリエイティブの登録」をご覧ください。登録内容により、ページへの表示方法は変更してください。以下は、HTMLソースを使用したクリエイティブを表示する方法になります。
my $adlpoCreative_area_1 = new adlpoMain($adlpoClient,'delivery','area_1',('ch'=>'UTF-8'));
$adlpoCreative_area_1->init();
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
・ ・ ・ ・
END_OF_HTML
if( $adlpoCreative_area_1->isDefault() ne 'true') {
print $adlpoCreative_area_1->getCreative();
} else {
print "<a href="form.php"><img src="img/top01.jpg" border="0" alt="メインクリエイティブ" /></a>"
}
・ ・ ・ ・
※「area_1」の部分がエリア名になります。任意のエリア名を指定してください。
※「ch」にはページ文字コードを設定してください。上記では文字コードとして「UFT-8」を設定しています。
5.コンパージョンタグの設置
コンバージョンを計測するページに、コンバージョンタグを設置してください。コンバージョンタグは、DLPO管理画面のダイレクトコード設定>コンバージョンタグ作成より、作成することが可能です。
「計測タイミング」、「コンバージョン名」、「利用言語」を指定し、「作成」ボタンをクリックしてください。入力内容よりコンバージョンタグが作成されます。「コピー」ボタンをクリックし、対象ページに設置してください。
※「計測タイミング」はページビューのみ利用可能です。
図4:コンバージョンタグ作成画面
赤字部分がコンバージョンタグのコード部分になります。
制御タグにて生成した「adlpoClient」クラスのインスタンスを第一引数に指定し、「adlpoMain」クラスを生成してください。第二引数には「conversion」を指定してください。
my $adlpoConversion_conversion_1 = new adlpoMain($adlpoClient,'conversion','conversion_1');
$adlpoConversion_conversion_1->init();
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
・ ・ ・ ・
※「conversion_1」の部分がCVポイント名になります。任意のCVポイント名を指定してください。
6.トラフィックタグの設置
ユーザーの行動履歴を取得する場合は、トラフィックタグを設置してください。トラフィックタグを設置するには、DLPO管理画面よりトラフィックタグIDを発行する必要があります。また、管理画面にてトラフィックタグを発行することも可能です。詳細は「トラフィック登録・一覧」をご覧ください。
※ユーザーの行動履歴をもとにサイト内行動ターゲティングを行う場合のみ必要となります。
図5:トラフィックタグ作成画面
赤字部分がトラフィックタグのコード部分になります。
制御タグにて生成した「adlpoClient」クラスのインスタンスを第一引数に指定し、「adlpoMain」クラスを生成してください。第二引数には「attribute」を指定してください。
my $adlpoTraffic = new adlpoMain($adlpoClient,'attribute','page_1',('tt'=>'XXXXXX'));
$adlpoTraffic->init();
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
・ ・ ・ ・
※「page_1」にはページごとに異なったページIDを記載してください。(空にすると自動採番になります。管理画面でのタグ発行時に指定可能です)
※「XXXXXX」には管理画面で生成したトラフィックタグIDを指定してください。
7.エリア、コンバージョンポイントの確認
設置したエリアタグ、コンバージョンタグを認識させるため、ブラウザから対象ページにアクセスしてください。認識された場合は、DLPO管理画面の「エリア一覧」、「コンバージョン一覧」に表示されます。
8.セグメントの登録
必要に応じて、セグメントを登録してください。登録方法の詳細は「セグメント個別登録」をご覧ください。
9.キャンペーンの登録、稼働
Standardキャンペーン作成にて、キャンペーンを作成し、対象エリアにクリエイティブ、セグメントを設定、またコンバージョンを設定してください。作成したキャンペーンを稼働させると、対象サイトにてABテスト及びパーソナライズ配信が実行されます。
キャンペーン作成の詳細は「Standardキャンペーン作成による設定」をご覧ください。
図6-1:Standardキャンペーン作成(2.詳細設定)
図6-2:Standardキャンペーン作成(3.コンバージョン設定)