Show Menu
トピック×

レスポンストークン

Response tokens let you automatically output information specific to Target (activity details, user profile information, geo information, and so forth) to use in debugging or integrating with 3rd-party systems (such as Clicktale).
応答トークンを使用すると、活用する変数を選択し、ターゲット応答の一部として送信できるようになります。 これを行うには、スイッチを使用して変数を有効にするだけで、変数はターゲット応答と共に送信され、ネットワーク呼び出しで検証できます。 Response tokens work in Preview mode as well.
プラグインとレスポンストークンの主な違いは、プラグインでは配信時に実行される JavaScript をページに送信しますが、レスポンストークンでは、イベントリスナーを使用して読み込み、実行できるオブジェクトを送信するという点です。詳しくは、 at.js カスタムイベント とこの記事の後の例を参照してください。レスポンストークンの方が安全性が高く、サードパーティ統合に伴う開発や管理を簡略化できます。
応答トークンは、at.js 1.1以降で使用できます。 mbox.js には対応していません。
使用する Target ライブラリ
推奨の操作
at.js
必ず at.js バージョン 1.1 以降を使用します。at.js の最新バージョンのダウンロードについて詳しくは、 at.js のダウンロード を参照してください。at.js の各バージョンでの新機能について詳しくは、 at.js のバージョンの詳細 を参照してください。
at.js を使用する場合は、プラグインを廃止しレスポンストークンを使用することをお勧めします。at.js にはなく、mbox.js にはある内部メソッドを使用するプラグインでは、配信されてもエラーが発生する場合があります。詳しくは、 at.js の制限 を参照してください。
mbox.js
mbox.js を使用している場合、プラグインは引き続きサポートされ、配信されます。
ただし、mbox.js とプラグインを使用している場合は、at.js とレスポンストークンに移行することをお勧めします。mbox.js を介して at.js を使用することの利点については、 at.js に関するよくある質問 を参照してください。移行について詳しくは、 mbox.js から at.js への移行 を参照してください。
2017 年 11 月の Target Classic の廃止以降は、場合によっては、既存のプラグインを編集または無効にするために、ClientCare までお問い合わせいただく必要があります。Target Classic の廃止より前にプラグインを確認し、必要のないプラグインを無効にしておく必要がありました。
Target Standard/Premium では、新しいプラグインは作成できません。その代わりにレスポンストークンを使用します。
古い SiteCatalyst プラグインは無効にして、 Adobe Target のレポートソースとして Adobe Analytics に置き換える (A4T)必要があります。ttMeta プラグインは、無効にして Adobe Experience Cloud デバッガー に置き換えてください。

レスポンストークンの使用方法

  1. 必ず at.js バージョン 1.1 以降を使用します。
    詳しくは、 at.js のダウンロード を参照してください。
  2. In Target, click Administration > Response Tokens .
  3. option.id activity.id などの対象のレスポンストークンを有効にします。
    デフォルトでは次のパラメーターを使用できます。
    タイプ
    パラメーター
    メモ
    ビルトインプロファイル
    profile.activeActivities
    訪問者が該当する activityIds の配列を返します。ユーザーが該当するたびに増分されます。For example, on a page with two Target requests delivering two different activities, the second request includes both activities.
    profile.isFirstSession
    「true」または「false」を返します。
    profile.isNewSession
    「true」または「false」を返します。
    profile.daysSinceLastVisit
    訪問者の最後の訪問からの経過日数を返します。
    profile.tntId
    訪問者の tntID を返します。
    profile.marketingCloudVisitorId
    訪問者の Experience Cloud 訪問者 ID を返します。
    profile.thirdPartyId
    訪問者のサードパーティ ID を返します。
    profile.categoryAffinity
    訪問者のお気に入りのカテゴリを返します。
    profile.categoryAffinities
    訪問者の上位 5 カテゴリの配列を文字列として返します。
    アクティビティ
    activity.name
    activity.id
    experience.name
    experience.id
    option.name
    option.id
    現在のアクティビティの詳細です。「option」は「offer」と同義です。
    地域
    geo.country
    geo.state
    geo.city
    geo.zip
    geo.dma
    geo.domainName
    geo.ispName
    geo.connectionSpeed
    geo.mobileCarrier
    アクティビティでの地域ターゲット設定について詳しくは、 地域 を参照してください。
    トラフィックの配分方法
    ( 自動ターゲット および Automated Personalizationアクティビティにのみ適用)
    experience.trafficAllocationId
    訪問者が、「コントロール」トラフィックからエクスペリエンスを受け取った場合は0を、「ターゲット」トラフィックの配布からエクスペリエンスを受け取った場合は1を返します。
    experience.trafficAllocationType
    "control"または"targeted"を返します。
    ユーザープロファイル属性と顧客属性もリストに表示されます。
    特殊文字を含むパラメーターはリストに表示されません。英数字とアンダースコアのみサポートされます。
  4. (Conditional) If you want to use a profile parameter as a response token, but the parameter has not been passed through a Target request and, thus, has not loaded into the Target UI, you can use the Add Response Token button to add the profile to the UI.
    追加応答トークン 」をクリックし、トークン名を指定して、「 アクティブ化 」をクリックします。
  5. アクティビティを作成します。
at.js カスタムイベント を使用して の応答をリッスンし、レスポンストークンを読み取ります。Target
以下のコードサンプルは、at.js カスタムイベントハンドラーを HTML ページに直接追加します。
<html> 
  <head> 
    .... 
    <script src="at.js"></script> 
    <script> 
      document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) { 
        console.log("Request succeeded", e.detail); 
      }); 
    </script> 
  <head> 
  <body> 
  ... 
  </body> 
</html>

Adobe Dynamic Tag Management(DTM)を使用して at.js カスタムイベントハンドラーを追加する手順を以下に示します。
  1. DTM にログインします。
  2. 適切なプロパティを参照します。
  3. Target ツールを開きます。
    DTM では at.js がネイティブにサポートされないので、コードエディターを使用する必要があります。
  4. コードエディターで、以下のコードを at.js に追加します。
    document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) { 
      console.log("Request succeeded", e.detail); 
    });
    
    
すべての要素を 1 つのファイルにまとめたい場合は、以下のスニペットをライブラリフッターの at.js セットアップページ に追加できます。
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) { 
  console.log("Request succeeded", e.detail); 
});

レスポンストークンに関する FAQ

レスポンストークンを有効または無効にするには、どの役割が必要ですか?
レスポンストークンを有効または無効にできるのは、Target 管理者の役割のユーザーのみです。
at.js 1.0 以前を使用している場合はどうなりますか?
レスポンストークンは確認できますが、at.js で使用することはできません。
サイトの一部のページでは at.js 1.1 以降を使用し、他のページでは mbox.js を使用している場合はどうなりますか?
Response tokens will be delivered to the at.js Target responses, but not to the mbox.js responses.
Target Classic プラグインとレスポンストークンの両方を同時に有効にすることはできますか?
プラグインとレスポンストークンは同時に利用できますが、プラグインは廃止される予定です。
応答トークンは、すべての応答を通じて配信されますか。それとも、アクティビティを配信する応答を通じてのみ配信されまTarget​Targetすか。
Response tokens are delivered only through Target responses delivering an activity.
利用していた Target Classic プラグインに JavaScript が含まれていたのですが、レスポンストークンを使用してこの機能を複製するにはどうすればよいですか?
そのタイプの JavaScript は、レスポンストークンに移行する際に、コードベースまたはタグ管理ソリューションに残しておく必要があります。このコードは、at.js カスタムイベントを使用してトリガーし、レスポンストークンの値を JavaScript 関数に渡すことができます。
プロファイル/顧客属性パラメーターがレスポンストークンのリストに表示されないのはなぜですか?
Target では通常、パラメーターが 15 分間隔で更新されます。この更新はユーザーの操作に依存し、データが更新されるのはレスポンストークンのページを表示したときのみです。パラメーターがレスポンストークンのリストに表示されない場合は、Target でデータがまだ更新されていない可能性があります。
また、英数字以外の文字や、アンダースコア以外の記号が含まれているパラメーターはリストに表示されません。現時点では、サポートされるのは英数字とアンダースコアのみです。
プロファイルスクリプトまたはプロファイルパラメーターを使用してレスポンストークンを作成した後、そのプロファイルスクリプトまたはプロファイルパラメーターを削除した場合でも、レスポンストークンによって引き続きコンテンツは配信されますか?
レスポンストークンはユーザープロファイルから情報を抽出し、その情報を配信します。プロファイルスクリプトまたはプロファイルパラメーターを削除しても、ユーザープロファイルから情報が削除されるわけではありません。ユーザープロファイルには該当のプロファイルスクリプトに対応するデータが残り、レスポンストークンによって引き続きコンテンツが配信されます。その情報がプロファイルに保存されていないユーザーや新規訪問者の場合は、プロファイルにデータがないので、このトークンは配信されません。
Target によって自動的にトークンが無効にされることはありません。プロファイルスクリプトを削除し、このトークンの配信が不要になった場合は、手動でトークンを無効にする必要があります。
プロファイルスクリプトの名前を変更しましたが、そのスクリプトを使用しているトークンが変更前の名前のままで引き続き有効なのはなぜですか?
前述したように、レスポンストークンはユーザーの保存済みのプロファイル情報を基に機能します。プロファイルスクリプトの名前を変更しても、お客様の Web サイトに訪問したユーザーのプロファイルには、変更前のプロファイルスクリプトの値が保存されています。トークンによって取得されるのは、ユーザープロファイルに既に保存されている変更前の値です。新しい名前でコンテンツを配信したい場合は、以前のトークンを無効にし、新しいトークンを有効にする必要があります。
属性が変更された場合、いつリストから削除されますか?
Target では、一定間隔で属性が更新されます。有効にされていない属性は、次回更新時にすべて削除されます。ただし、有効にされていた属性を削除した場合(トークンとして使用していたプロファイルスクリプトを削除した場合など)は、そのスクリプトは無効にされるまで属性リストから削除されません。Target では、削除または名前変更しても、無効にされている属性しかリストから削除されません。

at.js を使用して Google Analytics にデータを送信する方法

次のコードを HTML ページに追加することで、Google Analytics に at.js を介してデータを送信できます。
<script type="text/javascript"> 
  (function(i, s, o, g, r, a, m) { 
    i['GoogleAnalyticsObject'] = r; 
    i[r] = i[r] || function() { 
      (i[r].q = i[r].q || []).push(arguments) 
    }, i[r].l = 1 * new Date(); 
    a = s.createElement(o), 
      m = s.getElementsByTagName(o)[0]; 
    a.async = 1; 
    a.src = g; 
    m.parentNode.insertBefore(a, m) 
  })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 
  ga('create', 'Google Client Id', 'auto'); 
</script> 
 
<script type="text/javascript"> 
  document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) { 
    var tokens = e.detail.responseTokens; 
 
    if (isEmpty(tokens)) { 
      return; 
    } 
 
    var activityNames = []; 
    var experienceNames = []; 
    var uniqueTokens = distinct(tokens); 
 
    uniqueTokens.forEach(function(token) { 
      activityNames.push(token["activity.name"]); 
      experienceNames.push(token["experience.name"]); 
    }); 
 
    ga('send', 'event', { 
      eventCategory: "target", 
      eventAction: experienceNames, 
      eventLabel: activityNames 
    }); 
  }); 
 
  function isEmpty(val) { 
    return (val === undefined || val == null || val.length <= 0) ? true : false; 
  } 
 
  function key(obj) { 
     return Object.keys(obj) 
    .map(function(k) { return k + "" + obj[k]; }) 
    .join(""); 
  } 
 
  function distinct(arr) { 
    var result = arr.reduce(function(acc, e) { 
      acc[key(e)] = e; 
      return acc; 
    }, {}); 
   
    return Object.keys(result) 
    .map(function(k) { return result[k]; }); 
  } 
</script>

デバッグ(ttMeta プラグインと同様)

ttMeta プラグインと同様のデバッグ機能は、HTML ページに次のコードを追加することで作成できます。
<script type="text/javascript" > 
  document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function (e) { 
    window.ttMETA= typeof(window.ttMETA)!="undefined" ? window.ttMETA : []; 
 
    var tokens=e.detail.responseTokens; 
 
    if (isEmpty(tokens)) { 
      return; 
    } 
     
    var uniqueTokens = distinct(tokens); 
 
    uniqueTokens.forEach(function(token) { 
      window.ttMETA.push({ 
        'CampaignName': token["activity.name"], 
        'CampaignId' : token["activity.id"], 
        'RecipeName': token["experience.name"], 
        'RecipeId': token["experience.id"], 
        'OfferId': token["option.id"], 
        'OfferName': token["option.name"], 
        'MboxName': e.detail.mbox}); 
      console.log(ttMETA); 
    }); 
  }); 
 
  function isEmpty(val){ 
    return (val === undefined || val == null || val.length <= 0) ? true : false; 
  } 
 
  function key(obj) { 
     return Object.keys(obj) 
    .map(function(k) { return k + "" + obj[k]; }) 
    .join(""); 
  } 
 
  function distinct(arr) { 
    var result = arr.reduce(function(acc, e) { 
      acc[key(e)] = e; 
      return acc; 
    }, {}); 
   
    return Object.keys(result) 
    .map(function(k) { return result[k]; }); 
  } 
</script>

トレーニングビデオ:レスポンストークンおよび at.js カスタムイベント

次のビデオでは、レスポンストークンと at.js カスタムイベントを使用して Target とサードパーティシステムの間でプロファイル情報を共有する方法について説明します。
パフォーマンスを向上し、新機能のリリース時に必要なメンテナンス時間を短縮し、製品全体でのユーザー操作性を向上させるために、 Target 管理 メニューUI(旧称 セットアップ )が再設計されました。 次のビデオの情報は、一般的に正しいです。ただし、オプションが少し異なる場所にある場合もあります。 更新されたビデオは近日中に投稿されます。