Skip to content
Last updated

Snapchat Conversions API エクスポートインテグレーション

This feature is in BETA version. For more information, contact your Customer Success Representative.

概要

Snapchat Conversions API (CAPI) コネクタは、Web、モバイル、オフラインチャネル全体でのコンバージョンイベントのサーバーサイドトラッキングと測定を可能にします。Snapchatの Events Manager と直接統合することで、このコネクタは企業がキャンペーンのパフォーマンスを測定し、Snapchatの3億人以上のデイリーアクティブユーザー全体で広告配信をより効果的に最適化するのに役立ちます。

主な機能:

  • Web Events: ピクセルデータを補完するサーバーサイドトラッキングにより、測定精度を向上
  • Mobile App Events: アプリ内コンバージョンイベントの直接統合
  • Offline Events: 店舗での購入など、非デジタルコンバージョンのサポート
  • Data Validation: Snapchat の CAPI 仕様に合わせた自動イベント検証とフォーマット

このサーバーサイド統合は、クライアントサイドソリューション単独と比較して、より信頼性の高いコンバージョントラッキングと改善された広告パフォーマンス測定を提供します。

前提条件

  • TD Toolbelt を含む Treasure Data の基本知識
  • Snapchat Business の基本知識
  • Snapchat Access Token または Snapchat Business アカウント

制限事項と既知の問題

  • イベント時刻の制限

    • 7日以上前のイベント(event_time に基づく)は処理中にスキップされます
    • イベント時刻の検証は、エポック変換と7日間ウィンドウの計算に UTC タイムゾーンを使用します
  • OAuth 認証と Conversion API トークン認証間の無効な Event Source ID エラーメッセージの相違

    • 異なる認証方法では、無効な event_source_id に対して異なるエラーレスポンスが生成されます:
      • Conversion API Token 認証を使用する場合、エラーメッセージは次のようになります:
        {  "status": "INVALID",  "reason": "Unauthorized resources" }
  • OAuth 認証を使用する場合、エラーメッセージは次のようになります:

    {  "status": "INVALID",  "test_event": true,  "reason": "At least one of the events is invalid.",  "event_logs": [    {   "event": 1,     "status": "INVALID",     "errors": {       "codes": [         "523"       ],       "error_msgs": [         "The provided asset id must be valid UUID format."       ]            }  }}
  • OAuth 認証を使用する場合、エラーレスポンスメッセージは無効な Event Source ID を明示的に示さず、代わりに無効な "asset id" を参照します。そのため、Event Source ID が不明な場合のより信頼性の高いエラー処理には、ジョブ実行時に Conversion API Token 認証を使用することをお勧めします。

  • Anonymous ID フィールド(anon_id):API ドキュメントの "User Data Parameter" セクション(リンク)で標準フィールドとして文書化されているにもかかわらず、anon_iduser_data オブジェクトに含めることができません

    • user_dataanon_id を使用しようとすると、次のエラーが発生します:

      {  "status": "INVALID",  "reason": "Request parsing failed. Ensure the request body is correctly formatted." }
    • そのため、回避策として、API エラーを避けるために anon_iduser_data オブジェクトではなく custom data オブジェクトにマッピングする必要があります。

TD Console で新しい接続を作成する

クエリを実行する前に、TD Console でデータ接続を作成して設定する必要があります。データ接続の一部として、インテグレーションにアクセスするための認証を提供します。次の手順を完了してください。

  1. TD Console を開きます。

  2. Integrations Hub > Catalog に移動します。

  3. Snapchat Conversions API を検索して選択します。アイコンにカーソルを合わせて Create Authentication を選択します。

  4. Credentials タブが選択されていることを確認し、インテグレーションの認証情報を入力します。次のいずれかを選択します

    1. OAuth 認証ワークフロー:「Click here」リンクを選択して OAuth 認証フローを開始します。認証が完了すると、新しい OAuth 接続が作成され、ドロップダウンで利用できるようになります。

      Continue を選択して新しい接続を作成します。

      b. Conversion API Token ワークフロー:Snapchat Business Manager からアクセストークンを取得し、Conversion API Token フィールドに入力します。

      認証フィールド

      ParameterDescription
      Authentication Mode認証方法。サポートされる値: - oAuth Connection: OAuth 認証 - Conversions API Token: Snapchat Business Manager で生成される長期アクセストークン
      Conversions API TokenConversions API Token は Snapchat Business Manager から取得できます。このパラメータは Conversion API Token 認証方法でのみ利用可能です。
  5. Continue を選択します。

  6. 認証の名前を入力し、Done を選択します。

エクスポート用のクエリ結果を設定する

TD Console は、データをエクスポートする複数の方法をサポートしています。Data Workbench からデータをエクスポートするには、次の手順に従ってください。

  1. Data Workbench > Queries に移動します。
  2. New Query を選択し、クエリを定義します。
  3. Export Results を選択してデータエクスポートを設定します。
  4. 既存の Snapchat CAPI 認証を選択するか、前述の手順で新しい認証を作成します
  5. Done を選択します。

コネクタ設定パラメータ

FieldDescription
Event Source Type使用している Snapchat イベントデータソースのタイプを選択します。サポートされるイベントソースタイプには以下が含まれます: - Web Events - Mobile App Events - Offline Events
Event Source IDWeb Events/Offline Events の場合は pixel_id、Mobile App Events の場合は snap_app_id のいずれかを入力して、イベントデータをアップロードする特定のイベントソースを選択します。
Send test events実際のトラフィックの代わりにテストイベントを送信する場合に有効にします。
Skip invalid records?チェックすると、ジョブは無効なレコードをスキップして次のレコードの処理を続行します。それ以外の場合、ジョブは停止します。

クエリ結果データ仕様の詳細ガイド

Snapchat CAPIにイベントデータをアップロードするには、Snapchat CAPIのガイドラインに準拠した標準フィールドとカスタムフィールドの組み合わせを含むデータエクスポートクエリを構築する必要があります。標準フィールドの場合、カラム名が「フィールド/カラムレベルの仕様」セクションに記載されているものと一致していることを確認してください。コネクターは自動的にカラム名を正規化してSnapchat CAPIの必須形式に一致させるため、大文字・小文字の区別を気にする必要はありません。たとえば、デフォルトフィールド「event_name」の場合、エクスポートクエリのカラム名は「EVENT_NAME」、「event_name」、「Event_Id」など、任意の大文字・小文字で記述できます。コネクターは、Snapchat CAPIの要件を満たすために、カラム名を「event_name」に標準化します。

Snapchat CAPIにユーザープロファイルデータを正常にアップロード/変更するには、特定のデータ仕様に準拠したエクスポートクエリを構築する必要があります。これらの仕様は2つのレベルに分かれています。

  • エクスポートクエリ仕様(またはデータセットレベルのデータ仕様):このセクションでは、必須フィールドの存在や複数のフィールドにまたがるデータ検証ルールなど、クエリ結果データセット全体に適用される要件とルールについて説明します。
  • フィールド/カラムレベルの仕様:このセクションでは、各フィールドのデータ型や形式など、データセット内の個々のフィールド/カラムの要件とルールについて詳しく説明します。

エクスポートクエリ仕様

仕様説明
ユーザーデータの条件付き必須フィールドエクスポートクエリには、以下の識別子フィールドのうち少なくとも1つが含まれている必要があります:
  • Email (em)
  • Phone (ph)
  • Snapchat click ID (sc_click_id)
  • Client IP address (client_ip_address)/Client user agent (client_user_agent)
  • Mobile advertiser ID (madid)
PURCHASEイベントの条件付き必須フィールドエクスポートクエリにPURCHASEイベントが含まれている場合、以下のフィールドが必須です:
  • currency(有効なISO 4217コードである必要があります)
  • value(数値である必要があります)
標準フィールド名標準フィールドのカラム名は任意の大文字・小文字で記述できます(例:「EVENT_NAME」、「event_name」、「Event_Name」)。コネクターは自動的にSnapchat CAPIの要件に合わせて標準化します。
Null値の処理NULL値を持つカラムはエクスポート中に無視されます。
重複カラムエクスポートクエリ内で重複するカラム名は許可されません。
カスタムフィールド標準フィールドにリストされていないフィールドは、自動的にcustom_dataオブジェクトにマッピングされ、そのまま保持されます。正規化/フォーマットは行われません。
日時フォーマットevent_timeフィールドには、以下の形式が受け入れられます:
  • 10桁以上の整数(Unix エポックタイムスタンプ)
  • ISO 8601形式の文字列
  • Timestampデータ型

配列フィールドのフォーマット

配列を受け入れるフィールド(例:content_idscontent_categorysuggested_destinations)は、以下のいずれかの方法で構築できます:

  1. 配列値を含む単一カラム、または
  2. 数値サフィックス付きのフラット化されたカラム名

フラット化されたカラムパターン: field_name_[index] ここでインデックスは1から始まります

例: 3つの値を持つ配列フィールドcont_idを作成するには、以下のカラムを使用できます:

  • cont_id_1
  • cont_id_2
  • cont_id_3

これらは自動的に次のように結合されます:["value1", "value2", "value3"]

JSONオブジェクト配列の構築

PURCHASEイベントのcontentsフィールドは、それぞれが以下のオプションフィールドを含むJSONオブジェクトのリストとしてフォーマットする必要があります:

  • id (string)
  • quantity (integer)
  • item_price (float)
  • delivery_category (string)

オブジェクトの配列は、次のパターンでフラット化されたカラム名を使用して構築できます:field_name_property_name_[index]

例: data[].custom_data.contentscontentsオブジェクト配列を作成するには、以下を使用できます:

最初のオブジェクト:

  • content_id_1
  • content_quantity_1
  • content_item_price_1
  • content_delivery_category_1

2番目のオブジェクト:

  • content_id_2
  • content_quantity_2
  • content_item_price_2
  • content_delivery_category_2

これは自動的に次のように構築されます:

[
  {
    "id": "ABC123",
    "quantity": 2,
    "item_price": 29.99,
    "delivery_category": "standard"
  },
  {
    "id": "XYZ789",
    "quantity": 1,
    "item_price": 49.99,
    "delivery_category": "express"
  }
]
日付フィールド形式Custom Dataオブジェクトのcheckin_date日付フィールドは、以下の形式を使用できます:
  • YYYYMMDD
  • YYYY-MM-DD
アプリイベントの必須フィールドアプリイベントを送信する場合、エクスポートクエリに以下のフィールドが必要です:
  • advertiser_tracking_enabled (Boolean)
  • extinfo (正確に16要素の配列)
  • app_id (string)
extinfo配列の要件extinfoフィールドは以下の条件を満たす必要があります:
  • 正確に16要素を含む
  • 最初の要素として"i2"(iOS)または"a2"(Android)で始まる

ハッシュ化されたフィールドの処理

user_dataオブジェクトでSHA256ハッシュ化が必要なフィールドについて、コネクタは以下のシナリオに対応します:

  1. 既にハッシュ化されたデータ:
    • データが既にSHA256でハッシュ化されている場合(HEXパターンで検証)、そのまま使用されます
    • データがハッシュ化されているがSHA256でない場合、生データとして扱われ再ハッシュ化されます
  2. 生データ:
    • Email (em):メール形式で検証された後、正規化されハッシュ化されます
    • その他のフィールド (ph, fn, ln, など):形式検証なしで正規化されハッシュ化されます

注意:コネクタはすべての正規化/ハッシュ化を自動的に処理します - 生データまたはSHA256ハッシュ化されたデータのいずれかを提供できます

フィールド/カラムレベルの仕様

特別なフィールド処理があります

Countryフィールド

  • user_dataオブジェクトの場合:カラム名"country"を使用します(大文字小文字を区別しません)
  • custom_dataオブジェクトの場合:カラム名"custom_country"を使用します(大文字小文字を区別しません)

句読点の削除

特定のフィールドでは句読点の削除が必要です。この場合、以下の文字が削除されます:

  • 基本的な句読点:. , ! ? ; : - — " ' ( ) [ ] { } / _
  • 特殊文字:& * + = @ # $ % ^ ~ |

日付時刻の処理

この統合では、日付時刻カスタムフィールドカラムに対して、timestampとしてキャストされた値またはISO-8601日付時刻文字列形式の値を処理できます。ISO-8601日付時刻文字列を使用する場合は、値の末尾に"Z"を含めることで、コネクタが日付時刻値を検出し、Snapchat CAPIのAPIコントラクトで要求されるUnix時刻値に変換できるようにしてください。

日付時刻カスタムフィールドカラムの処理例

1. Timestampとしてキャスト

  • ソースデータテーブルにstring型のカラムを作成します:

    ALTER TABLE source_data_table ADD COLUMN date_time_field VARCHAR;
  • そのカラムに日付時刻値文字列を挿入します:

    INSERT INTO source_data_table (id, date_time_field)VALUES(1, '2024-08-28'),(2, '2024-08-28 15:30:00'),(3, '2024-08-28T15:30:00');
  • カラム値をtimestampとしてキャストします:

    SELECT id, CAST(date_time_field AS timestamp) AS date_time_field FROM source_data_table;

2. ISO-8601日付時刻文字列の使用

  • ソースデータテーブルにstring型のカラムを作成します:

    ALTER TABLE source_data_table ADD COLUMN date_time_field VARCHAR;
  • そのカラムに日付時刻値文字列を挿入します。"T"セパレータと末尾の"Z"を含むISO-8601形式でフォーマットされていることを確認してください:

    INSERT INTO source_data_table (id, date_time_field)VALUES(1, '2024-08-28T00:00:00Z'),(2, '2024-05-28T15:30:00.123Z'),(3, '2024-02-28T15:30:00Z');
  • クエリで直接カラムを使用します:

    SELECT id, date_time_field FROM source_data_table;

サーバーパラメータの標準フィールド(トップレベルパラメータ)

FieldDescriptionRequiredData TypeAdditional Specifications
event_nameトラッキングされるイベントのタイプ* YesString以下のいずれかの値でなければなりません:
  • PURCHASE
  • SAVE
  • START_CHECKOUT
  • ADD_CART
  • VIEW_CONTENT
  • ADD_BILLING
  • SIGN_UP
  • SEARCH
  • PAGE_VIEW
  • SUBSCRIBE
  • AD_CLICK
  • AD_VIEW
  • COMPLETE_TUTORIAL
  • LEVEL_COMPLETE
  • INVITE
  • LOGIN
  • SHARE
  • RESERVE
  • ACHIEVEMENT_UNLOCKED
  • ADD_TO_WISHLIST
  • SPENT_CREDITS
  • RATE
  • START_TRIAL
  • LIST_VIEW
  • APP_INSTALL
  • APP_OPEN
  • CUSTOM_EVENT_1-5
event_timeイベント発生のタイムスタンプYesInteger/String/Timestamp
  • Integer の場合:10桁以上の Unix エポックタイムスタンプでなければなりません
  • String の場合:ISO 8601 形式でなければなりません
  • Timestamp の場合:エポックミリ秒に変換されます
  • 過去7日以上前であってはなりません

event_source_url

イベントが発生した URL

Yes(Webイベントの場合)

String

プロトコル(http/https)を含める必要があります

例:https://example.com/page

event_idイベントの一意識別子NoString一意のイベントを表すために広告主が選択
action_sourceイベントのソースYes*String*設定画面の選択に基づいて自動的に設定されます:
  • WEB
  • OFFLINE
  • MOBILE_APP
data_processing_optionsプライバシー処理オプションNoArray of strings受け入れ可能な値:["LMU"]、["DELETE"]
advertiser_tracking_enabledトラッキング許可インジケーターNoBoolean
  • OPT_IN の場合は 1
  • OPT_OUT の場合は 0
  • Webイベントの場合:トップレベルパラメータで使用
  • アプリイベントの場合:app data オブジェクトで使用

User Data オブジェクトの標準フィールド

以下のフィールドは、ユーザーとその属性を識別するために使用されます。email(em)、phone(ph)、sc_click_id、client_ip_address、client_user_agent、または mobile advertiser id(madid)のいずれか少なくとも1つの識別子フィールドが必要です。

フィールド説明必須データ型フォーマット要件
emメールアドレス条件付き*String/Array- スペースはトリミングされます - 小文字に変換されます - 有効なメール形式でなければなりません - 自動的にハッシュ化されます入力:Person@Example.com 正規化後:person@example.com
ph電話番号条件付き*String/Array- スペースが削除されます - 先頭の '00' と '0' が削除されます - 数字以外の文字、'+'、'-' は除外されます - 国コードを含める必要があります - 自動的にハッシュ化されます入力:+44 844 412 4653 正規化後:448444124653
sc_click_idURL からの Snapchat クリック ID条件付き*String- UUID 形式でなければなりません - ランディングページ URL の ScCid パラメータにあります123e4567-e89b-12d3-a456-426614174000
client_ip_addressデバイスの IP アドレス条件付き*String- IPv4 と IPv6 をサポート - サーバー IP ではなく、デバイス IP でなければなりません203.0.113.195
client_user_agentデバイスのユーザーエージェント条件付き*String特別なフォーマットは不要Chrome/87.0.4180.143
madidモバイル広告主 ID条件付き*String自動的に小文字に変換されます入力:123ABC 正規化後:123abc

*これらの識別子フィールドのうち、少なくとも1つが必要です。

オプションのユーザー属性
フィールド説明データ型データ処理
fn名(ファーストネーム)String/Array- 小文字に変換されます - 句読点が削除されます - 特殊文字は UTF-8 エンコードされます - 自動的にハッシュ化されます
lnLast nameString/Array- 小文字に変換 - 句読点を削除 - 特殊文字をUTF-8エンコード - 自動的にハッシュ化されます
geGenderString/Array- 小文字に変換 - 受け入れられる値: 'f' (女性)、'm' (男性) - 自動的にハッシュ化されます
ctCityString/Array- 小文字に変換 - 句読点とスペースを削除 - 特殊文字をUTF-8エンコード - 自動的にハッシュ化されます
stStateString/Array- 米国: 2文字のANSIコードを使用 - 小文字に変換 - 句読点、特殊文字、スペースは不可 - 自動的にハッシュ化されます
zpZip/postal codeString/Array- 小文字に変換 - スペースと'-'を削除 - 米国: 5桁を使用 - 自動的にハッシュ化されます
countryCountryString/Array- 2文字のISO 3166-1 alpha-2コードに変換 - 小文字に変換 - 自動的にハッシュ化されます
追加の識別子フィールド
フィールド説明必須備考
external_id一意の識別子 (例: ロイヤリティカードID)いいえ自動的にハッシュ化されます
subscription_idサブスクリプション識別子いいえ
lead_idSnapchat Lead Ad識別子いいえ
anon_idアプリインストール識別子いいえアプリイベントのみ、このフィールドはSnapchat APIエラーを回避するためにcustom_dataオブジェクトにマッピングされます
download_idアプリダウンロード識別子いいえ
sc_cookie1Pixel SDKからのファーストパーティCookieいいえUUID形式である必要があります
idfvIDFV値いいえプレーンテキスト値
ユーザーデータに関する重要な注意事項:
  1. 条件付き要件: 条件付き識別子フィールド (em、ph、sc_click_id、client_ip_address、client_user_agent、またはmadid) のうち、少なくとも1つを含める必要があります。
  2. 自動処理: コネクタは以下を自動的に処理します:
    • フィールドの正規化 (小文字への変換、スペースの削除など)
    • 機密フィールドのハッシュ化
    • 必要に応じたUTF-8エンコード
  3. 複数の値: String/Arrayとマークされたフィールドは、単一の値または複数の値を受け入れることができます

Custom Dataオブジェクトの標準フィールド

Eコマース関連フィールド
フィールド説明必須データ型追加仕様
content_categoryアイテムまたはカテゴリの分類いいえString/Array- 単一の値または配列が可能 例: "shoes" または ["coats", "shoes", "umbrellas"]
content_ids商品/カテゴリ識別子いいえArray- 単一のIDまたはカンマ区切りのリストが可能 例: "sku001" または ["sku001", "sku002", "sku003"]
content_nameページ/商品名いいえString例: "Running Shoes"
content_typeコンテンツ識別子のタイプいいえString- 受け入れられる値: productproduct_group
contents詳細なアイテム購入情報いいえArray of Objects- 各オブジェクトには以下が含まれる可能性があります: • id (string) • quantity (integer) • item_price (float) • delivery_category (string) 例: [{"id": "123", "quantity": 2, "item_price": 29.99, "delivery_category": "standard"}]
currency取引通貨PURCHASE時は必須String- 標準のISO 4217コードである必要があります (例: USD、AED、AUD)
num_items合計アイテム数いいえString例: "3"
order_id注文識別子いいえString例: "ORD12345"
predicted_ltv予測ライフタイムバリューいいえFloat例: 150.75
valueイベントの金額的価値PURCHASE時は必須Float例: 99.99
search_string検索クエリテキストいいえString例: "running shoes"
旅行関連フィールド
フィールド説明必須データ型
checkin_dateホテルチェックイン日いいえString形式: YYYY-MM-DD 例: "2024-09-13"
travel_start旅行開始日いいえString例: "2024-09-13"
travel_end旅行終了日いいえString例: "2024-09-20"
suggested_destinationsおすすめの目的地いいえString/Array例: ["destination1", "destination2"]
destination_airport目的地のIATAコードいいえString例: "JFK"
origin_airport出発地のIATAコードいいえString例: "LAX"
場所関連フィールド
フィールド説明必須データ型
country目的地の国いいえString例: "US"
city目的地の都市いいえString例: "New York"
region州/地区/地域いいえString例: "NY"
neighborhood特定の地域いいえString例: "Brooklyn"
postal_code郵便番号いいえString例: "10001"
旅行スケジュールフィールド
フィールド説明必須データ型
departing_departure_date往路出発いいえString例: "2024-09-13T08:00"
departing_arrival_date往路到着いいえString例: "2024-09-13T12:00"
returning_departure_date復路出発いいえString例: "2024-09-20T08:00"
returning_arrival_date復路到着いいえString例: "2024-09-20T12:00"
宿泊関連フィールド
フィールド説明必須データ型
num_adults大人の人数いいえInteger例: 2
num_children子供の人数いいえInteger例: 1
num_infants幼児の人数いいえInteger例: 0
hotel_scoreホテル評価スコアいいえString例: "4.5"
preferred_neighborhoods希望エリアいいえString/Array例: ["neighbor1", "neighbor2"]
preferred_star_ratingsホテルの星評価範囲いいえString/Array例: ["star1", "star2"]
suggested_hotelsおすすめのホテルいいえString/Array例: ["hotel1", "hotel2"]
destination_idsカタログの目的地IDいいえString/Array例: ["dest1", "dest2"]

App Dataオブジェクトの標準フィールド

フィールド説明必須データ型追加仕様
advertiser_tracking_enabledユーザートラッキングのオプトインステータスはいBoolean- 1 でOPT_IN - 0 でOPT_OUT - iOS 14.5+の場合: ATT Authorization Statusに設定
app_idアプリケーション識別子はいString- iOS: 数値形式 (例: 447188370) - Android: パッケージ名形式 (例: com.snapchat.android)
extinfoデバイスとアプリの情報はいArray特定の順序で正確に16個の要素を含める必要があります (以下の詳細仕様を参照)
extinfo配列の仕様

extinfo配列は、以下の順序で正確に16個の要素を含む必要があります。コネクタが正確な配列を構築できるように、「列名」で指定された正確な列名を使用してください:

インデックスカラム名説明データ型要件
0device_osOS識別子String"i2"(iOS)または"a2"(Android)である必要があります"i2"
1package_nameアプリパッケージ名String"com.snapchat.sdk"
2short_versionアプリショートバージョンString/Integer"1.0"
3long_versionアプリロングバージョンString"1.0"
4os_versionデバイスOSバージョンString"10.3.1"
5device_modelデバイスモデルString"iphone14"
6localeデバイスロケールString"En_US"
7timezone_abbrタイムゾーン略称String"EDT"
8carrierモバイルキャリアString"AT&T"
9screen_width画面幅IntegerInt64である必要があります320
10screen_height画面高さIntegerInt64である必要があります568
11screen_density画面密度String"2"
12cpu_coresCPUコア数IntegerInt64である必要があります2
13storage_size総ストレージ容量(GB)IntegerInt64である必要があります15
14free_storage_size利用可能なストレージ容量(GB)IntegerInt64である必要があります8
15timezone_locationデバイスタイムゾーンString"USA/New York"

完全なextinfo配列の例:

["i2", "com.snapchat.sdk", "1.0", "1.0", "10.3.1", "iphone14", "En_US", "EDT", "AT&T", "320", "568", "2", "2", "15", "8", "USA/New York"]
アプリイベントの重要な注意事項:
  1. アプリイベントでは、3つのフィールド(advertiser_tracking_enabledapp_idextinfo)すべてが必須です
  2. extinfo配列は上記で指定された正確な順序を維持する必要があります
  3. extinfo内の整数値はInt64型として提供する必要があります
  4. extinfoの最初の要素がプラットフォーム(iOS/Android)を決定します

(オプション) 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 を有効にすることで、クエリの開始時刻を遅延させることができます。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

  1. Audience Studio に移動します。
  2. parent segment を選択します。
  3. ターゲット segment を開き、右クリックして、Create Activation を選択します。
  4. Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
  5. Output Mapping パネルで activation 出力をカスタマイズします。

  • Attribute Columns
    • Export All Columns を選択すると、変更を加えずにすべての列をエクスポートできます。
    • + Add Columns を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。+ Add Columns を選択し続けて、activation 出力用の新しい列を追加します。
  • String Builder
    • + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
      • String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
      • Timestamp: エクスポートの日時。
      • Segment Id: segment ID 番号。
      • Segment Name: segment 名。
      • Audience Id: parent segment 番号。
  1. Schedule を設定します。

  • スケジュールを定義する値を選択し、オプションでメール通知を含めます。
  1. Create を選択します。

batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。

(オプション) CLIを使用したエクスポートインテグレーション

CLI(Toolbelt)を使用してSnapchat Conversion CAPIに結果をエクスポートすることもできます。

td queryコマンドの*--resultオプションを使用して、Snapchatサーバーへのエクスポートに必要な情報を指定する必要があります。td query*コマンドの詳細については、こちらの記事を参照してください。

オプションの形式はJSONで、一般的な構造は次のとおりです。

{
  "type": "snapchat_conversion",
  "auth_method": "oauth",
  "oauth_credentials_id": "xxxxxxxxxxx",
  "event_source_type": "web",
  "event_source_id": "xxxxxxxxxxx",
  "send_test_events": false,
  "skip_invalid_records": true
}
{
  "type": "snapchat_conversion",
  "auth_method": "api_token",
  "api_token": "xxxxxxxxxxx",
  "event_source_type": "web",
  "event_source_id": "xxxxxxxxxxx",
  "send_test_events": false,
  "skip_invalid_records": true
}

パラメータ

名前説明デフォルト値必須
typeコネクタタイプsnapchat_conversionN/Aはい
auth_method認証方式サポートされる値: - oauth - api_tokenoauthはい
api_tokenConversion Api TokenN/AN/Aはい(認証方式がConversion Api Tokenの場合)
oauth_credentials_idコンソールでOAuth認証方式によって作成された資格情報IDN/AN/Aはい(認証方式がoAuthの場合)
event_source_typeイベントソースタイプサポートされるイベントソース: - WEB - MOBILE_APP - OFFLINEWEBはい
event_source_idSnapchatダッシュボードのピクセルIDまたはアプリケーションIDN/AN/Aはい
send_test_eventsValidation APIにデータを送信true/falsefalseいいえ
skip_invalid_records無効なレコードを処理する際にジョブを続行または停止するフラグtrue/falsetrueいいえ

使用例

OAuth認証

$ td query --result '{"type":"snapchat_conversion","auth_method":"oauth","oauth_credentials_id":"xxx","event_source_type":"WEB","event_source_id":"xxx", "send_test_events":false,"skip_invalid_records":true}' -d sample_datasets "select ........ from ........" -T presto

APIトークン認証

$ td query --result '{"type":"snapchat_conversion","auth_method":"api_token","api_token":"xxx","event_source_type":"WEB","event_source_id":"xxx", "send_test_events":false,"skip_invalid_records":true}' -d sample_datasets "select ........ from ........" -T presto

関連記事

その他の設定

  • 結果エクスポートは、対象の宛先に定期的にデータをアップロードするようにスケジュールできます。
  • すべてのインポートおよびエクスポートインテグレーションは、TD Workflowに追加できます。tdデータオペレーターは、クエリ結果を指定されたインテグレーションにエクスポートできます。詳細については、Treasure Dataオペレーターのリファレンスを参照してください。