# Facebook Lead Ads インポート連携

Facebook Lead Ads Connectorを使用して、FacebookページまたはAd AccountをTreasure Dataに接続し、リードデータをインポートできます。

## 前提条件

- [TD Toolbelt](https://toolbelt.treasuredata.com/)を含むTreasure Dataの基本知識
- リード取得権限を持つFacebookページ/Adアカウント
- 認可されたTreasure アカウントへのアクセス


## Ad IDとForm IDの取得

### Ad ID

Ad Managerの画面にAd ID列を追加することで、Ad IDを取得できます。Ads Managerの画面から、右側の(+)記号をクリックし、「Customize Columns...」を選択して、画像に示されているようにAd ID列を検索します。

![](/assets/screen-shot-2020-02-22-at-4.28.21-pm.7671904a53ee4718f1a50faad7c9460ddc6c4a30d8785c4d233ac4f3e0eba575.53b79903.png)

### Form ID

Form IDは、Publishing Tools > Lead Ads Formから取得でき、画像に示されているように既存のFormにカーソルを合わせます。

![](/assets/screen-shot-2020-02-22-at-4.29.09-pm.26512d51670946040e3c2bf7b503aa901e114a7fd6fd4f163869b49faa3e93d2.53b79903.png)

### リードフォームのフィールド名の取得

1. **Lead Ads Forms**に移動します。


![](/assets/image2021-1-12_16-53-3.3a90ab224b518ac07b9e13f839ba4c3d2b0c8bced05b0b4fa20f116e0e581026.53b79903.png)

1. **Download new leads**を選択します。


![](/assets/image2021-1-12_16-54-25.7239d0f369ee9818e26497678563d6894537ce7035e8e25f9551721e577abf37.53b79903.png)

1. **CSV**を選択してCSVファイルをダウンロードします。
2. ダウンロードしたCSVファイルを開くと、フォームのフィールド名が次のように表示されます：


![](/assets/image2021-1-12_16-56-56.5083933cc091592fa10385ab18c3a3e0454b9f3d99deee8cf22aa45e83ae1273.53b79903.png)

キャンペーンのLifetime結果を表示している場合でも、過去90日間のリードのみをダウンロードできます。

## Treasure コンソールで新しい接続を作成

FacebookインターフェースとTreasure Dataの両方で設定を完了します。

データ接続を設定する際には、統合にアクセスするための認証を提供します。Treasure Dataでは、認証を設定してからソース情報を指定します。

1. **Integrations Hub > Catalog**に移動し、Facebook Lead Adsを検索して選択します。


![](/assets/image2021-1-13_8-57-19.1c6286dfada7c999d04b3732d156c5c5121ebb40bbf0da22f5f4bef2015f3d85.53b79903.png)
2. 次のダイアログが開きます。

![](/assets/screen-shot-2020-02-22-at-3.59.30-pm.b1c30500b10490efbf0c6f9cd47e8d17049d3db449bf47c8d1d60c7f70668f7b.53b79903.png)
3. Treasure DataとFacebookを認証する方法によって、データコネクタがFacebookからインポートできるようにするための手順が異なります。

OAuth
1. `Click here`を選択して新しいアカウントに接続します。まだログインしていない場合は、Facebookへのログイン、またはTreasure Dataへのアクセス権を付与する同意ページにリダイレクトされます。


![](/assets/screen-shot-2020-02-22-at-4.00.45-pm.61953aa0c97d66b3add87ba517c3784eaa03b611ab1b294a062c530cde20b162.53b79903.png)
2. ポップアップウィンドウでFacebookアカウントにログインします：

![](/assets/data-connector-facebook-login.ffc61a088d2fba0cad93ac39afbcb5c2cf06e120c8fdf113b84fe3855bd8b04d.53b79903.png)
3. Treasure Dataへのアクセス権を付与すると、Treasure コンソールにリダイレクトされます。
4. Facebook Lead Adsを再度選択します。
5. OAuth認証方法を選択します。

ドロップダウンリストにアカウント名を含むOAuth接続が表示されます。
6. 使用するアカウントを選択し、接続の作成に進みます。

![](/assets/screen-shot-2020-02-22-at-4.01.51-pm.e6ed2f50b3017728ae7ef9d21e67dc5c6d4f1531e538bc8cddeed0e64b6bff1f.53b79903.png)
7. **Continue**を選択します。
8. Facebook Lead Adsの認証詳細を提供します。

![](/assets/screen-shot-2020-02-22-at-4.02.52-pm.ebc6b10690e5235f838a872d895ca54568d1fa31b5a6ab40cce98d81139ae59a.53b79903.png)
9. **Done**を選択します。

Access Token
この方法で認証するには、長期間有効なAccess TokenとオプションでApp Secretが必要です。

1. Access tokenとApp secretを使用してコネクタを設定する方法の詳細については、こちらを参照してください。
2. Access TokenとApp Secretを入力し、**Continue**をクリックします。


![](/assets/screen-shot-2020-02-22-at-4.04.56-pm.87cccc2243707547a237484848254d7681b8193566fb222b1f411cc68d6b8988.53b79903.png)
3. 新しいFacebook Lead Ads接続に名前を付けます。
4. **Done**を選択します。

### FacebookリードデータをTreasure Dataに転送

認証された接続を作成した後、自動的にAuthenticationsタブに移動します。作成した接続を探して**New Source**をクリックします。

1. 作成した接続を検索します。
2. **New Source**を選択します。Create Sourceダイアログが開きます。


### 接続に名前を付ける

1. Data Transferフィールドで**Source**の名前を入力します。
2. **Next**を選択します。


![](/assets/screen-shot-2020-02-22-at-4.06.05-pm.99e30504140178bffcfd5dfc37b3ba7e33ca10fdb7822932995d36ec8479cdad.53b79903.png)

### Source Table

チェックボックス**Enable Guess Schema**がチェックされている場合、コネクタは最初のLead Adをダウンロードし、このAdのみに対してフィールド名とデータ型のスキーマ推測を実行します。複数のフォームがあり、フィールド名が異なる場合、データのインポートが欠落したり、一貫性がなくなったりする可能性があります。この場合、すべてのフィールド名をFORM FIELDSに入力する必要があります。- id、created_time、ad_id、ad_name、adset_id、adset_name、campaign_id、campaign_name、form_id、platform、is_organicは**予約語**です。これらのフィールド名でFacebookフォームを作成しないでください。これらのフィールドをForm Fieldsに追加しないでください。これらは自動的に追加されます。

1. 以下のパラメータを編集します：


![](/assets/image-20201211-065925.a75784f3254c42a93a050309f6d61c6c8012b62b92be355065ae6daac0ffd75a.53b79903.png)

パラメータ：

- **Ad Account ID**: (オプション) FacebookのAd Account ID。
- **AD ID/Form ID:** (Ad Account IDが設定されていない場合は必須)Ad IDまたはForm IDによってリードデータをインポートできます。
- **Created Time From:** (オプション) この時刻から現在時刻までに送信されたリードデータをインポートします。このフィールドはISO 8601日付時刻形式を受け入れます。例：2020-01-01T00:00:00+0700。
- **Incremental**: 最後の実行以降の新しいデータのみをインポートします。
- **Enable Guess Schema:** この機能を使用して、コネクタが自動的にフォームフィールドを推測するか、これをクリアしてFORM FIELDSのField NameとData Typeを入力することでフォームフィールドを入力できます。
- **Field Name:** リードフォームのフィールド名。
- **Data Type**: このフィールドのデータ型。
- **Timestamp format**: フィールドがタイムスタンプフィールドの場合、タイムスタンプ形式を提供します。例：%Y-%m-%dT%H:%M:%S%z。


### Data Settings

Data Settingsでは、データ転送をカスタマイズできます。

Column Nameは変更しないでください。リードフォームのフィールド名は、インポート時に列名として使用されます。ただし、フィールド名の特殊文字(英数字またはアンダースコア「_」以外)はサポートされておらず、アンダースコアに変換されます。ただし、Treasure Dataコネクタによって自動生成される追加フィールドである`ad_account_name`と`ad_account_id`は除きます。

1. **Next**を選択します。Data Settingsページが開きます。
2. オプションで、データ設定を編集するか、ダイアログのこのページをスキップします。


- Skip invalid record(s): 選択すると、無効なリードデータをスキップし、他のデータを引き続きインポートします。選択しない場合、無効なデータが検出されるとジョブは失敗します。
- Schema Settings: そのカラムのデータ型またはタイムスタンプ形式が無効であることが判明した場合、**Data Type**または**Timestamp format**カラムを変更できます。


![](/assets/screenshot_2023-08-26_at_08_27_31.15f2f335ce0656712e9ac7950315977fd5f5f9d9efaa3cc70ce823f05dfac200.53b79903.png)

### Data Preview

インポートを実行する前に、Generate Preview を選択してデータの[プレビュー](/products/customer-data-platform/integration-hub/batch/import/previewing-your-source-data)を表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。

1. **Next** を選択します。Data Preview ページが開きます。
2. データをプレビューする場合は、**Generate Preview** を選択します。
3. データを確認します。


### Data Placement

データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。

1. **Next** を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。
2. **Database** を選択 > **Select an existing** または **Create New Database** を選択します。
3. オプションで、database 名を入力します。
4. **Table** を選択 > **Select an existing** または **Create New Table** を選択します。
5. オプションで、table 名を入力します。
6. データをインポートする方法を選択します。
  - **Append** (デフォルト) - データインポートの結果は table に追加されます。
table が存在しない場合は作成されます。
  - **Always Replace** - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。
  - **Replace on New Data** - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。
7. **Timestamp-based Partition Key** 列を選択します。
デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add_time フィルターで upload_time を使用します。
8. データストレージの **Timezone** を選択します。
9. **Schedule** の下で、このクエリを実行するタイミングと頻度を選択できます。


#### 一度だけ実行

1. **Off** を選択します。
2. **Scheduling Timezone** を選択します。
3. **Create & Run Now** を選択します。


#### 定期的に繰り返す

1. **On** を選択します。
2. **Schedule** を選択します。UI では、*@hourly*、*@daily*、*@monthly*、またはカスタム *cron* の 4 つのオプションが提供されます。
3. **Delay Transfer** を選択して、実行時間の遅延を追加することもできます。
4. **Scheduling Timezone** を選択します。
5. **Create & Run Now** を選択します。


転送が実行された後、**Data Workbench** > **Databases** で転送の結果を確認できます。