Skip to content
Last updated

TD Profiles APIとFacebookカスタムオーディエンスの統合

適切なオーディエンスをターゲットとした最適化されたFacebook広告を作成します。Profiles APIとセグメントを使用することで、すでにウェブサイトにアクセスしている、またはウェブサイトに登録している訪問者のリストを作成し、彼らに最適化されたFacebook広告を送信できます。

この統合とFacebookカスタムオーディエンスへのジョブ結果の書き込みの違いは何ですか?

Facebookカスタムオーディエンスを使用するには、メールアドレスや電話番号などのユーザー識別情報が必要です。Profiles API統合により、そのようなパラメータなしでセグメントをFacebookカスタムオーディエンスに送信できます。代わりに、Facebook Pixelを使用します。

前提条件

  • Treasure Dataの基本知識

  • Facebookビジネスアカウントのアカウント

PixelIDを使用したTD Profiles APIとFacebookの統合

  1. Audience Studio > Profile API Tokensに移動します。

  1. 新規トークンをクリックします。

  1. キーカラムの指定やパーソナライゼーションを適用する顧客のセグメントの指定など、APIトークンを設定するためのフィールドに入力します。セグメントを検索するために必要なキーカラムを選択します。この例では、td_global_idが選択されています。また、Profiles APIで使用するセグメントを登録します。選択したキーがセグメントに関連付けられている場合、Profiles APIはセグメントIDを返します。

  1. トークンを保存します。

Facebook Pixel IDの取得

Facebook Pixel IDは、Facebookビジネスアカウントで取得できます。 https://www.facebook.com/business/help/952192354843755を参照してください

ウェブサイトへのJavaScriptの設定

Facebook JavaScriptタグ

ウェブサイトにFacebook JavaScriptタグを統合します。スクリプト内の「YOUR_PIXEL_ID」をPixel IDに置き換えます。

詳細については、https://developers.facebook.com/docs/facebook-pixel/implementationを参照してください

Treasure Data JavaScript SDK

2つのバージョンのJavaScript SDKを提供しています。使用するバージョンは、この手順で使用されるfetchUserSegments関数のレスポンス形式に影響します。JavaScript SDK バージョン2の使用を推奨します。

ケース v1.9.x

fetchUserSegments関数は、訪問者がウェブサイトにアクセスしたときに関連するセグメントIDを返します。trackCustomパラメータを使用してfbq関数にセグメントIDを追加すると、それらがFacebookに送信されます。

fbq関数のパラメータには以下が必要です: (1): イベント名(任意)、(2): Facebook上のカラム名(任意)、(3): fetchUserSegments関数からのセグメントID

<script type="text/javascript">
var td = new Treasure({
  ...
});

var successCallback = function (key, segments) {
  // send to FB
  fbq('trackCustom','event_tracking',{'td_segment_id': segments.join(',')});  // fbq('trackCustom','(1)',{'(2)': (3)});
};

td.fetchUserSegments({
  audienceToken: [token1, token2],
  keys: {some_key: 'value'}
}, successCallback);
</script>

ケース v2.x.x

JS SDK v2以降はv1.9以前とは異なるレスポンス形式を返すため、追加のロジックステップでfetchUserSegments関数からセグメントIDのみを抽出する必要があります。その後、trackCustomパラメータを使用してfbq関数にセグメントIDを追加し、IDをFacebookに送信します。

fbq関数のパラメータには以下が必要です: (1): イベント名(任意)、(2): Facebook上のカラム名(任意)、(3): fetchUserSegments関数からのセグメントID

<script type="text/javascript">
var td = new Treasure({
  ...
});

function sendSegmentId2Fb(seg) {
  var segIdAll = [];
  for (var i = 0; i < seg.length; i++) {
    segIdAll = segIdAll.concat(seg[i].values);
  };
  var segId = segIdAll.filter(function (x,i,self) {return self.indexOf(x) === i;});

  // send to FB
  fbq('trackCustom','event_tracking',{'td_segment_id': segId.join(',')});  // fbq('trackCustom','(1)',{'(2)': (3)});
};

var successCallback = function(values) {
  sendSegmentId2Fb(values);
};

td.fetchUserSegments({
  audienceToken: [token1, token2],
  keys: {some_key: 'value'}
}, successCallback);
</script>

統合ステータスの確認

JavaScript統合がトリガーされた後、Facebookビジネスアカウントページでデータ統合のステータスを確認できます。

  1. Events ManagerセクションのPixelsに移動します。

  1. 統合したPixelを選択します。

  1. Activityメニューをクリックし、fbq関数を使用して呼び出したトラッキングターゲット名を確認します。

カスタムオーディエンスの作成

データがFacebook側に保存された後、そのデータを使用してカスタムオーディエンスを作成できます。

  1. Event Managersに移動し、Pixelsをクリックします。

  1. Pixelを選択します。

  1. カスタムオーディエンスの作成をクリックします。

  1. 広告を送信する条件を選択します
  • イベント名を選択
  • 条件を選択(例:td_segment_idに<セグメントID>が含まれる)
  1. カスタムオーディエンス名を設定します。

  1. 最後に、カスタムオーディエンスのステータスを確認できます。