Skip to content
Last updated

FacebookカスタムオーディエンスでProfiles APIを使用する

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

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

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

前提条件

  • Treasure Dataの基本知識

  • Facebookビジネスアカウント

Profiles APIトークンの作成

新しいトークンに名前を付ける

  1. TD Consoleを開きます。
  2. Audience Studioに移動してセグメントを選択します。
  3. フォルダーを選択します。
  4. 新規作成を選択します。
  5. Profile APIトークンを選択します。

  1. トークンの名前を入力し、オプションで説明を入力します。次へを選択します。

トークンの設定

名前と説明は、トークンに名前を付けたときのものが引き継がれます。変更することもできます。

  1. ルックアップキーを入力します。

ルックアップキーは、ペアレントセグメント内の一意の値を持つカラムです。このキーは正しいプロファイルを識別します。

ルックアップキーの更新は、トークンワークフローが完了すると有効になります。

td_global_idをルックアップキーとして使用する場合、Profiles APIはAPIリクエストのクエリパラメータではなく、ブラウザのCookieからルックアップ値を取得します。ブラウザ外でのテストまたは検証の目的(例: Postman)では、異なるカラムを使用してルックアップ値を手動で渡してください。

  1. (オプション)最大5つの属性を入力します。

プロファイル属性は、クエリ時にプロファイルトークンから返すことができます。

  1. 以下のいずれかを選択します:
  • 次へを選択して続行し、セグメントを追加します。
  • 作成を選択してトークンを設定します。(後でセグメントを追加することもできます。)

トークンへのセグメント追加

  1. 以下のいずれかを選択します:
  • トークンの設定後、次へを選択します。
  • Audience Studio > フォルダー > Profiles APIトークンに移動します。

  1. Profiles APIトークンにセグメントを追加します。
  2. 保存を選択します。

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

Facebook Pixel IDの取得

Facebook Pixel IDは、Facebookビジネスアカウントから取得されます。 Pixel IDの検索に関するFacebookのドキュメントを参照してください。

WebサイトでのJavaScriptの設定

Facebook JavaScriptタグ

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

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

Treasure Data JavaScript SDK

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

ケース v1.9.x

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

fbq関数のパラメータには以下が必要です: (1): イベント名(任意)、(2): Facebook上のカラム名(任意)、(3): fetchUserSegment関数からのセグメント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): fetchUserSegment関数からのセグメント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を選択します。

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

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

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

  1. Event Managersに移動し、Pixelsを選択します。

  1. Pixelを選択します。

  1. Create Custom Audienceを選択します。

  1. 広告を送信する条件を選択します:
  • イベント名を選択します
  • 条件を選択します
  • カスタムオーディエンス名を設定します。
  1. カスタムオーディエンスのステータスを確認します。

カスタムオーディエンスのステータスを確認できます。