広告主向けAdobe Experience Platform統合
このページでは、Adobe Experience Platformを使用してRokt Adsを実装し、キャンペーンにコンバージョンをリンクさせてクローズド・ループを実現する方法を解説します。コンバージョンを広告のエンゲージメントにリンクさせることで、より正確なアトリビューション、リアルタイムの最適化、キャンペーンの測定が可能になります。
Adobeでデータレイヤーに基づいたデータ要素を作成し、Rokt SDKを初期化しコンバージョンを記録するためのルールを作成する方法を学びます。
ルールの作成
Rokt SDKの初期化
- Adobe Experience Platformにサインインします。
- プロパティの概要ページから、Rules タブを開き、Add Rule を選択します。
- ルールに Rokt Initialization のような説明的な名前を付け、ルールを発火させるイベントを作成します。
- 各サイトは異なりますが、RoktではすべてのページにSDKスクリプトを含めることを推奨しています。これにより、オファーの配信遅延を最小限に抑え、ユーザー識別の精度を最大化します。
- 各サイトは異なりますが、RoktではすべてのページにSDKスクリプトを含めることを推奨しています。これにより、オファーの配信遅延を最小限に抑え、ユーザー識別の精度を最大化します。
- アクションを作成し、Core を拡張機能として選択し、Custom Code をアクションタイプとして選択します。
- 言語として HTML を選択し、以下のスニペットを貼り付けます:
<script>
// Rokt APIキーを入力
const API_KEY = "YOUR_API_KEY";
// ファーストパーティドメインを設定した場合は、デフォルトのapps.rokt-apiドメインの代わりにその値をDOMAINとして設定
const ROKT_DOMAIN = "https://apps.rokt-api.com";
// SDK設定を設定
window.mParticle = {
config: {
// データ環境を指定:
// 統合をまだテストしている場合はisDevelopmentModeをtrueに設定。
// 統合が本番データの準備ができている場合はisDevelopmentModeをfalseに設定。
isDevelopmentMode: true,
// 現在のユーザーを識別:
// ユーザーのメールアドレスがある場合は、`identifyRequest`内で `userIdentities` というオブジェクトに含めます。
identifyRequest: {
userIdentities: {
// サンプル変数 {email} をユーザーのメールを格納するために作成した変数で置き換える
email: _satellite.getVar('email'),
// ハッシュ化されたメールアドレスは `other` フィールドに渡される必要があります。
other: _satellite.getVar('hashed_email')
},
}
},
};
// SDKをロードする
(function(e) { window.mParticle = window.mParticle || {}; window.mParticle.EventType = { Unknown: 0, Navigation: 1, Location: 2, Search: 3, Transaction: 4, UserContent: 5, UserPreference: 6, Social: 7, Other: 8, Media: 9 }; window.mParticle.eCommerce = { Cart: {} }; window.mParticle.Identity = {}; window.mParticle.Rokt = {}; window.mParticle.config = window.mParticle.config || {}; window.mParticle.config.rq = []; window.mParticle.config.snippetVersion = 2.7; window.mParticle.ready = function(e) { window.mParticle.config.rq.push(e); }; ["endSession", "logError", "logBaseEvent", "logEvent", "logForm", "logLink", "logPageView", "setSessionAttribute", "setAppName", "setAppVersion", "setOptOut", "setPosition", "startNewSession", "startTrackingLocation", "stopTrackingLocation"].forEach(function(e) { window.mParticle[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift(e); window.mParticle.config.rq.push(t); }; }); ["setCurrencyCode", "logCheckout"].forEach(function(e) { window.mParticle.eCommerce[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("eCommerce." + e); window.mParticle.config.rq.push(t); }; }); ["identify", "login", "logout", "modify"].forEach(function(e) { window.mParticle.Identity[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("Identity." + e); window.mParticle.config.rq.push(t); }; }); ["selectPlacements","hashAttributes","setExtensionData","use","getVersion","terminate"].forEach(function(e) { window.mParticle.Rokt[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("Rokt." + e); window.mParticle.config.rq.push(t); }; }); var t = window.mParticle.config.isDevelopmentMode ? 1 : 0, n = "?env=" + t, a = window.mParticle.config.dataPlan; if (a) { var o = a.planId, r = a.planVersion; o && (r && (r < 1 || r > 1e3) && (r = null), n += "&plan_id=" + o + (r ? "&plan_version=" + r : "")); } var i = window.mParticle.config.versions, s = []; i && Object.keys(i).forEach(function(e) { s.push(e + "=" + i[e]); }); var c = document.createElement("script"); c.type = "text/javascript"; c.async = !0; window.ROKT_DOMAIN = ROKT_DOMAIN || 'https://apps.rokt-api.com'; mParticle.config.domain = ROKT_DOMAIN.split('//')[1]; c.src = ROKT_DOMAIN + "/js/v2/" + e + "/app.js" + n + "&" + s.join("&"); var l = document.getElementsByTagName("script")[0]; l.parentNode.insertBefore(c, l); })(API_KEY);
</script>
- 設定を入力します:
YOUR_API_KEY
を、お客様のRoktアカウントマネージャーから提供されたAPIキーで置き換えます。- ファーストパーティードメイン統合用にカスタムドメインを設定している場合は、
https://apps.rokt-api.com
を新しいドメインに置き換えます。 - アクションを本番データで使用する準備ができている場合は、
isDevelopmentMode
をfalse
に設定します。アクションのテスト中である場合はtrue
を維持します。 email
が、ユーザーのハッシュされていないメールアドレスを格納するために作成したデータ要素に設定されていることを確認してください。上記のスニペット例では、_satellite.getVar('email')
を使用してデータ要素にアクセス できます。
- アクション設定で Keep Changes をクリックし、Save をクリックします。
ユーザーを識別
現行のユーザーをRoktに識別するためのルールも作成するべきです。このルールは、ユーザーがメールアドレスを提供するとすぐに発火されるようにサイトに組み込むことを確認してください。
- プロパティの概要ページから、Rules タブを開き、Add Rule を選択します。
- ルールに説明的な名前を付け、例えば Rokt Identify など、ルールを発火させるイベントを作成します。
- ユーザーがメールアドレスを提供するとすぐにこのルールが発火するようにイベントを設定します。使用するイベントは、特定の統合に依存します。
注意
Identify User ルールの正確なイベント設定は、統合に依存します。イベントのログを記録する前に、ユーザーが正常に識別されるようにこのルールを実装する方法について質問がある場合は、Roktアカウントマ ネージャーに相談してください。
- アクションを作成し、Core を拡張機能として選択し、Custom Code をアクションタイプとして選択します。
- 言語として HTML を選択し、次のスニペットを貼り付けます:
<script>
const identifyRequest = {
userIdentities: {
// 生のハッシュされていないメールを使用する場合は、'email' フィールドに渡します
email: _satellite.getVar('email'),
// ハッシュされたメールを使用している場合は、'other' フィールドに渡します
other: _satellite.getVar('hashed_email')
}
};
window.mParticle.Identity.identify(identifyRequest);
</script>
- ユーザーの生のハッシュされていないメールアドレスをRoktに送信する場合は、それを
email
に設定します。ハッシュされたメールアドレスを送信する場合は、それをother
に設定します。例の変数名(email
とhashed-email
)を、ユーザーのメールアドレスを格納するために作成したデータ要素名に置き換えてください。 - アクション設定で変更を保持をクリックし、保存をクリックします。