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

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

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

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

* [前提条件](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h1_1644201065)
* [Profiles APIトークンの作成](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h1__441927612)
* [新しいトークンに名前を付ける](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h2_251609309)
* [トークンの設定](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h2_196158072)
* [トークンへのセグメント追加](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h1__1028383756)
* [Pixel IDを使用したTD Profiles APIとFacebookの統合](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h1_99127986)
* [Facebook Pixel IDの取得](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h2__2071084009)
* [WebサイトでのJavaScriptの設定](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h2__509915809)
* [Facebook JavaScriptタグ](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h3__1142792019)
* [Treasure Data JavaScript SDK](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h3_1540807596)
* [ケース v1.9.x](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h3__1894618024)
* [ケース v2.x.x](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h3__1894614854)
* [インテグレーションステータスの確認](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h2_809358370)
* [カスタムオーディエンスの作成](/ja/products/customer-data-platform/audience-studio/profiles/use-the-profiles-api-with-facebook-custom-audience#h1__1317660865)


# 前提条件

* Treasure Dataの基本知識
* Facebookビジネスアカウント


# Profiles APIトークンの作成

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

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


![](/assets/create_profile_api_token.d07368447c21f911e4cd104cea3710cce089327674fbd36df615c051711ff6c9.cf3845cb.png)

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


## トークンの設定

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

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


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

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

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

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


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

![](/assets/cptoken_lookupkey.a4fdda5f033ac9bc65803145af0187498c5a29fec6d8dae8ceb8fb94771598ff.cf3845cb.png)

1. 以下のいずれかを選択します:


* **次へ**を選択して続行し、セグメントを追加します。
* **作成**を選択してトークンを設定します。(後でセグメントを追加することもできます。)


![](/assets/config_token.0d19c72c2bfbc57a48198756674abe5a80f6f4782cc23b744568f79f354be71d.cf3845cb.png)

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

1. 以下のいずれかを選択します:


* トークンの設定後、次へを選択します。
* Audience Studio > フォルダー > Profiles APIトークンに移動します。


![](/assets/segmentselect.125e8e424498ad8117a756c58875a8ee9d5d7999c778df16ae54e4307c739a18.cf3845cb.png)

1. Profiles APIトークンにセグメントを追加します。
2. **保存**を選択します。
![](/assets/use-the-profiles-api-with-facebook-custom-audience-2024-02-08.6d199d43e89e4355f3218d3b5e63a8105d8656d109565e985d922b15621a62e8.cf3845cb.png)


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

## Facebook Pixel IDの取得

Facebook Pixel IDは、Facebookビジネスアカウントから取得されます。
[Pixel IDの検索に関するFacebookのドキュメント](https://www.facebook.com/business/help/952192354843755)を参照してください。

![](/assets/image-20190829-174303.14d3b6cdd1837b54734b3cf5eab8ca4626089c3ed3c33653088a83fe458fde93.cf3845cb.png)

## WebサイトでのJavaScriptの設定

### Facebook JavaScriptタグ

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

詳細については、以下を参照してください: [https://developers.facebook.com/docs/facebook-pixel/implementation](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。


```html
<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。


```html
<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に移動します。


![](/assets/image-20190829-173001.289ac32674b7b3952c0dc71cd976b66353c037991e1a431e16cd6ec81b98754d.cf3845cb.png)

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


![](/assets/image-20190829-173106.bb38f26917bc4cb3d1e7e9a90eb1899b632ad145ac3ec985ee9e8e4fdc708cb7.cf3845cb.png)

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

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

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


![](/assets/image-20190829-173156.82d6aebdc6fc9a84140ee1d33f9611a84e95382bb99bff555ca1cb57eb8ab830.cf3845cb.png)

1. Pixelを選択します。


![](/assets/image-20190829-173231.0c80cbd64b460c83a3cf9655c631d48953e41146bed2bc9383463d609719212a.cf3845cb.png)

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


![](/assets/image-20190829-173326.9f0d3412ebcb31de8b97031187225eb09fec2a99ca9d48abff4ef015f1d0b549.cf3845cb.png)

1. 広告を送信する条件を選択します:


* イベント名を選択します
* 条件を選択します
* カスタムオーディエンス名を設定します。


1. カスタムオーディエンスのステータスを確認します。


![](/assets/cr_custom_aud.8df6cf126e56e4be7f5312c45ede0954493938c2443eddb1a6eaf93423e46c23.cf3845cb.png)

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

![](/assets/use-the-profiles-api-with-facebook-custom-audience-2024-02-09.535a9a07270e7717a8e0c9f6aac40675e25c79605223b21717c6d9509f2f79d6.cf3845cb.png)