Skip to content
Last updated

Facebook Offline Conversions

2025-03-10更新 Metaは、現在のFacebook Offline ConversionsアプリケーションがOffline Conversions API(OCAPI)を廃止することを発表しました。また、Metaは新しいオフラインイベントセット(OES)の作成を無効にします。Metaは、OCAPIが2025年5月1日に廃止されることを予想しています。参照:https://www.facebook.com/business/help/1835755323554976 この変更に備えて、Treasure DataはMeta Conversion APIコネクターでオフラインコンバージョンのサポートを追加しました: - https://docs.treasuredata.com/articles/#!int/facebook-conversions-api-export-integration これら2つのAPI間のフィールド名の違いを確認してください: - https://docs.treasuredata.com/articles/int/migration-guide-to-facebook-conversion-connector ユーザーは、Facebook Offline Conversionsアプリケーションへの今後の変更に備えて、今日からコネクターに切り替えることができます。

Facebook Offline Conversionsを使用して、Treasure DataからFacebookに直接ジョブ結果(オフラインイベントデータの形式)を送信し、Facebook広告が店舗での購入、電話注文、予約などの実際の成果にどれだけつながるかを測定できます。

前提条件

  • Treasure Dataの基本的な知識
  • Facebook Offline ConversionsとFacebook Offline Eventの基本的な知識
  • イベントデータをアップロードするには、Facebook上で次のいずれかへのアクセスが必要です:
    • Business Manager管理者
    • オフラインイベントセットを作成した管理者システムユーザー
    • オフラインイベントセットに接続されたad_accountの管理者

Offline Event Set ID

  1. Business Managerダッシュボードを開き、Event Managerを選択します。
  2. Event Setを選択します。
  3. Settingsを選択すると、Offline event set IDが表示されます。

TD Consoleを使用して接続を作成する

新しい接続を作成する

Treasure Dataでは、クエリを実行する前に、エクスポート中に使用するデータ接続を作成して構成する必要があります。データ接続の一部として、統合にアクセスするための認証を提供します。

  1. TD Consoleを開きます。
  2. Integrations Hub > Catalogに移動します。
  3. Facebook Offline Conversionsを検索して選択します。
  4. 次のダイアログが開いたら、認証方法のタイプを選択します。これについては、次のセクションで詳しく説明します。

  1. 接続の名前を入力します。
  2. Doneを選択します。

接続の認証

Treasure DataをFacebookで認証する方法によって、データコネクターがFacebookにアクセスできるようにするための手順が異なります。次の方法で認証を選択できます:

  • Access Token
  • OAuth

Access Tokenを使用した認証

Access Tokenを使用して認証するには、アクセストークンとクライアントシークレットが必要です。長期有効なユーザーアクセストークンまたはシステムユーザーアクセストークンが推奨されます。長期有効なアクセストークンまたはシステムアクセストークンを作成する必要がある場合があります。

access_tokenにads_management権限を割り当てる必要があります。

OAuthを使用した認証

OAuthは最も一般的な認証方法です。認証には、Treasure DataアカウントをFacebook Adsアカウントに手動で接続する必要があります。 認証するには、次の手順を実行します:

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

  1. ポップアップウィンドウでFacebookアカウントにログインし、Treasure Dataアプリケーションへのアクセスを許可します。TD Consoleにリダイレクトされます。

  1. 最初のステップ(新しい接続を作成する)を繰り返し、新しいOAuth接続を選択します。

  1. 新しいFacebook Offline Conversions接続に名前を付けます。
  2. Doneを選択します。

データ接続でエクスポート結果を構成する

このステップでは、クエリを作成または再利用します。クエリで、データ接続を構成します。

クエリで列マッピングを定義する必要があります。クエリの列は、Facebookにアップロードされるオフラインイベントデータを表します。

さらに、match_keys列とそのデータは、Facebookに送信される前にハッシュ化/正規化されます。ハッシュ化と正規化の要件の詳細をご覧ください。エクスポート結果を構成するには、少なくとも1つのmatch_keys列が必要です。

Column nameData typeMatch KeyRequiredMultipleExample
emailstringYesNoYesfoo@fb.com
phonestringYesNoYes1-202-555-0192
genstringYesNoNoM
dobystringYesNoNo1990
dobmstringYesNoNo10
dobdstringYesNoNo20
lnstringYesNoNoBar
fnstringYesNoNoFoo
fistringYesNoNoL
ctstringYesNoNoLong Beach
ststringYesNoNoCalifornia
zipstringYesNoNo90899
countrystringYesNoNoUS
madidstringYesNoNoaece52e7-03ee-455a-b3c4-e57283
extern_idstringYesNoNo
lead_idstringYesNoNo12399829922
event_timelongNoYesNo1598531676
event_namestringNoYesNoPurchase
currencystringNoYesNoUSD
valuedoubleNoYesNo100.00
content_typestringNoNoNo
contentsjson stringNoNoYes{"id": "b20", "quantity": 100}
custom_datajson stringNoNoNo{"a":12, "b":"c"}
order_idstringNoNoNoOD123122
item_numberstringNoNoNo

Data Processing Optionsを含めるには、クエリでこれらの列マッピングを指定します。

Column nameData TypeRequiredMultipleExample
data_processing_optionsstringNoNo"LDU"
data_processing_options_countrylongNoNo1
data_processing_options_statelongNoNo1000

同じ名前で複数の値をクエリするには、クエリで名前を複数回指定します。例えば:

SELECT home_email as email, work_email as email, first_name as fn, last_name as ln
FROM table my_table

パラメータを指定して接続を構成する

  1. TD Consoleを開きます。
  2. Data Workbench > Queriesに移動します。
  3. データをエクスポートするために使用する予定のクエリを選択します。
  4. クエリエディターの上部にある「Export Results」を選択します。
  5. Choose Integrationダイアログが開きます。
  6. 結果をエクスポートするために使用する接続を選択する際に、既存の接続を使用するか、最初に新しい接続を作成するかの2つのオプションがあります。

既存の接続を使用する

  1. 検索ボックスに接続名を入力してフィルタリングします。
  2. 接続を選択します。
  3. 次のパラメータを設定します。
ParameterDescription
Offline Event Set ID(必須)FacebookオフラインイベントセットID。Offline Event Set IDについては付録を参照してください。
Upload Tag(必須)イベントのアップロードを追跡するために使用します
Namespace ID(オプション)extern_idまたはtpidを解決するために使用されるスコープ。別のデータセットまたはデータパートナーIDにすることができます。例:12345
Match Keys(必須)Facebook上の人々とマッチングするために使用される識別情報。値はカンマ区切りの文字列です。例:email,phone,fn,ln,st,country…
Skip Invalid Data(オプション)無効なレコードが検出されたときにジョブを終了する(元に戻さずに)ために使用されます。たとえば、レコードに必須列(event_nameevent_time...など)がない場合です。

サンプル構成は次のとおりです:

オフラインイベントデータを入力するクエリの例

Treasure Dataから、Facebook Offline Conversionsの接続にエクスポート結果を含む次のクエリを実行します:

  • テーブルからの通常のSELECTクエリ
SELECT
  an_email_column       AS EMAIL,
  a_phone_column        AS PHONE,
  an_event_time_column  AS EVENT_TIME,
  an_event_name_column  AS EVENT_NAME,
  a_double_column       AS VALUE,
  a_currency_column     AS CURRENCY
FROM your_table;
  • 複数の値のために複数のemailおよびphone列をクエリします。
SELECT
  'elizabetho@fb.com' as email,
  'olsene@fb.com'     as email,
  '1-(650)-561-5622'  as phone,
  '1-(650)-782-5622'  as phone,
  'Elizabeth'         as fn,
  'Olsen'             as ln,
  '94046'             as zip,
  'Menlo Park'        as st,
  'US'                as country,
  '1896'              as doby,
  'Purchase'          as event_name,
  1598531676          as event_time,
  150.01              as value,
  'USD'               as currency
  • 複数のcontentsを含むクエリ
SELECT
  'elizabetho@fb.com' as email,
  'Purchase'          as event_name,
  1598531676          as event_time,
  150.01              as value,
  'USD'               as currency
  '{"id": "b20", "quantity": 100}' as contents
  '{"id": "b21", "quantity": 200}' as contents
  • custom_data列をクエリする
SELECT
  'elizabetho@fb.com' as email,
  'Purchase'          as event_name,
  1598531676          as event_time,
  150.01              as value,
  'USD'               as currency
  '{"a":12, "b":"c"}' as custom_data

(オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

TD Console を使用してジョブをスケジュールする

  1. Data Workbench > Queries に移動します

  2. 新しいクエリを作成するか、既存のクエリを選択します。

  3. Schedule の横にある None を選択します。

  4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:

    ドロップダウン値説明
    Custom cron...Custom cron... の詳細を参照してください。
    @daily (midnight)指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。
    @hourly (:00)毎時 00 分に実行します。
    Noneスケジュールなし。

Custom cron... の詳細

Cron 値説明
0 * * * *1 時間に 1 回実行します。
0 0 * * *1 日 1 回午前 0 時に実行します。
0 0 1 * *毎月 1 日の午前 0 時に 1 回実行します。
""スケジュールされた実行時刻のないジョブを作成します。
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

次の名前付きエントリを使用できます:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.
  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

フィールド値 例の説明
各フィールドに対して上記で表示された制限内の単一の値。
フィールドに基づく制限がないことを示すワイルドカード '*''0 0 1 * *'毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
範囲 '2-5' フィールドの許可される値の範囲を示します。'0 0 1-10 * *'毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。
カンマ区切りの値のリスト '2,3,4,5' フィールドの許可される値のリストを示します。0 0 1,11,21 * *'毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
周期性インジケータ '*/5' フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。'30 */2 1 * *'毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 '0 0 */5 * *' は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。
'*' ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています '2,*/5,8-10''0 0 5,*/10,25 * *'毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
  1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

ワークフローでエクスポート結果をオプションで構成する

Treasure Workflow内で、このデータコネクターを使用してデータをエクスポートすることを指定できます。

timezone: UTC

_export:
  td:
    database: sample_datasets

+td-result-into-target:
  td>: queries/sample.sql
  result_connection: facebook_offline_conversions
  result_settings:
    event_set_id: 361738844830373
    upload_tag: purcharse_event_upload
    match_keys: email,phone,ln,fn

ワークフローでデータコネクターを使用してデータをエクスポートする方法の詳細については、Exporting Data with Parametersを参照してください。