セグメントのインポート - Amazon Pinpoint

セグメントのインポート

Amazon Pinpoint では、セグメントに属するユーザーに関する情報を含むファイルをインポートしてユーザーセグメントを定義できます。Amazon Pinpoint の外でユーザーセグメントを定義するが、Amazon Pinpoint キャンペーンにユーザーを関与させたいという場合は、セグメントのインポートが役立ちます。

インポートされたセグメントは、コンソールのセグメントビルダーで作成する動的セグメントとは異なり、変化することがないエンドポイントまたはユーザー ID のセットです。

エンドポイント

メッセージを送信できる宛先 (E メールアドレス、モバイルデバイス ID、携帯電話番号など)。エンドポイントの定義には、メッセージを送信するユーザーまたはデバイスを表す属性を含めることができます。また、ユーザー ID を含めることもできます。

セグメントを定義するには、エンドポイント定義のリストをインポートします。のリストを定義できます。Amazon Pinpoint はセグメントを作成し、以前 Amazon Pinpoint に追加したすべてのエンドポイントを新しい情報で更新します。

ユーザー ID

対象者の個々のユーザーを表す ID。この ID は、1 つ以上のエンドポイントに割り当てる必要があります。たとえば、ユーザーが複数のデバイスでアプリを使用する場合、アプリはそのユーザーのユーザー ID を各デバイスのエンドポイントに割り当てることができます。

ユーザー ID に関連付けられたエンドポイントを Amazon Pinpoint に追加した場合にのみ、ユーザー ID をインポートしてセグメントを定義できます。

インポートされたセグメントは、エンドポイント、ユーザー ID、またはその両方の組み合わせで構成されます。Amazon Pinpoint を使用してセグメントにメッセージを送信する際、想定される宛先は次のとおりです。

  • インポートされたファイルに一覧表示する各エンドポイント。

  • インポートされたファイルに一覧表示する各ユーザー ID に関連付けられている各エンドポイント。

新しいセグメントを作成する場合に、インポートされたセグメントを基本セグメントとして使用できます。それから、基本セグメントにフィルターを追加し、ニーズに合わせて絞り込むことができます。

インポートされたセグメントの考慮事項

インポートされたセグメントを作成するときは、次の要素を考慮してください。

  • キャンペーンを作成する際にはセグメントを選択する必要があります。動的セグメントを選択すると、Amazon Pinpoint はそのセグメントのサイズの予測を提供します。ただし、インポートしたセグメントを選択した場合、Amazon Pinpoint は予測を提供できません。

  • 特定のイベントが発生したときにメッセージを送信するキャンペーンを作成した場合、インポートしたセグメントは使用できません。イベントベースのキャンペーンは、動的なセグメントのみを使用できます。動的セグメントの作成の詳細については、「セグメントの構築」を参照してください。

セグメントファイル

セグメントに属するエンドポイントまたはユーザー ID は、カンマ区切り値 (CSV) または JSON ファイルで定義します。次に、Amazon Pinpoint にそのファイルをインポートしてセグメントを作成します。

セグメントをインポートするときは、次の点に注意してください。

  • Amazon Pinpoint は圧縮ファイルをインポートできません。

  • インポートするファイルでは UTF-8 文字エンコーディングを使用する必要があります。

  • 新しいエンドポイントをインポートする場合、Address および ChannelType 属性は必須です。

  • 既存のエンドポイントを更新する場合、更新する各エンドポイントに対して Id 属性は必須です。

  • エンドポイントの定義には、特定の属性のみを含めることができます。リストについては、「サポートされている属性」を参照してください。また、属性名は 50 文字以下にする必要があります。属性値は 100 文字以下にする必要があります。

セグメントファイルの例

このセクションのファイル例は、次のデータに基づいています。

エンドポイント属性値の例
ChannelType 住所 Location.Country Demographic.Platform Demographic.Make User.UserId
SMS +12365550182 CA Android LG example-user-id-1
APNS 1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f 米国 iOS Apple example-user-id-2
EMAIL john.stiles@example.com 米国 iOS Apple example-user-id-2
GCM 4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c CN Android Google example-user-id-3
EMAIL wang.xiulan@example.com CN Android OnePlus example-user-id-3

このテーブルの各行は、個々のエンドポイントを表します。このユーザー ID (example-user-id-2 および example-user-id-3) は、2 つのエンドポイントにそれぞれ割り当てられています。

例 エンドポイント定義のファイル

CSV

以下の例のように、CSV ファイルで定義されたエンドポイントをインポートできます。

ChannelType,Address,Location.Country,Demographic.Platform,Demographic.Make,User.UserId SMS,2065550182,CA,Android,LG,example-user-id-1 APNS,1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f,US,iOS,Apple,example-user-id-2 EMAIL,john.stiles@example.com,US,iOS,Apple,example-user-id-2 GCM,4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c,CN,Android,Google,example-user-id-3 EMAIL,wang.xiulan@example.com,CN,Android,OnePlus,example-user-id-3

最初の行はヘッダーで、エンドポイント属性が含まれています。使用可能な属性の一覧については、「サポートされている属性」を参照してください。

以下の行では、ヘッダーの各属性の値を指定することでエンドポイントを定義しています。

カンマ、改行、または二重引用符を値に含めるには、"aaa,bbb" のように値を二重引用符で囲みます。CSV 形式の詳細については、「カンマ区切り値 (CSV) ファイルの RFC 4180 一般形式と MIME タイプ」を参照してください。

JSON

改行で区切られた JSON ファイルで定義されているエンドポイントをインポートできます。この形式で、各行は次の例のように個別のエンドポイント定義を含む完全な JSON オブジェクトです。

{"ChannelType":"SMS","Address":"2065550182","Location":{"Country":"CA"},"Demographic":{"Platform":"Android","Make":"LG"},"User":{"UserId":"example-user-id-1"}} {"ChannelType":"APNS","Address":"1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}} {"ChannelType":"EMAIL","Address":"john.stiles@example.com","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}} {"ChannelType":"GCM","Address":"4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"Google"},"User":{"UserId":"example-user-id-3"}} {"ChannelType":"EMAIL","Address":"wang.xiulan@example.com","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"OnePlus"},"User":{"UserId":"example-user-id-3"}}

使用可能な属性の一覧については、「サポートされている属性」を参照してください。

例 ユーザー ID を含むファイル

CSV

以下の例のように、CSV ファイルで定義されたユーザー ID をインポートすることもできます。

User.UserId example-user-id-1 example-user-id-2 example-user-id-3

最初の行はヘッダーで、User.UserId 属性のみ含みます。

後続の行には、セグメントに属する各ユーザー ID が一覧表示されます。

エンドポイント定義の例で分かるように、ユーザー ID example-user-id-1 は 1 つのエンドポイントに関連付けられています。このユーザー ID (example-user-id-2 および example-user-id-3) は、2 つのエンドポイントにそれぞれ関連付けられています。したがって、このファイルをインポートして作成されたセグメントを使用して、最大 5 つのエンドポイントを伝えることができます。

JSON

以下の例のように、改行で区切られた JSON ファイルに一覧表示されているユーザー ID をインポートすることもできます。

{"User":{"UserId":"example-user-id-1"}} {"User":{"UserId":"example-user-id-2"}} {"User":{"UserId":"example-user-id-3"}}

エンドポイント定義の例で分かるように、ユーザー ID example-user-id-1 は 1 つのエンドポイントに関連付けられています。このユーザー ID (example-user-id-2 および example-user-id-3) は、2 つのエンドポイントにそれぞれ関連付けられています。したがって、このファイルをインポートして作成されたセグメントを使用して、最大 5 つのエンドポイントを伝えることができます。

セグメントのインポート

セグメントを Amazon Pinpoint にインポートするには、次の 2 つの方法があります。コンピュータから直接ファイルをアップロードするか、Amazon S3 バケットに保存されているファイルをインポートします。

特にコンピュータに顧客データがすでにある場合、一般的にセグメントをインポートする簡単な方法は、コンピュータからファイルをアップロードすることです。ただし、一度にインポートできるファイルは 10 個で、1 ギガバイト (GB) 未満のファイルのみをアップロードできます。

一度に 10 個を超えるファイルをインポートする必要がある場合や、1 GB を超えるファイルをアップロードする必要がある場合は、Amazon S3 からファイルをインポートする必要があります。また、保存のために顧客データを Amazon S3 に送信するプロセスがすでに存在する場合、Amazon S3 インポートオプションも役立ちます。

このセクションでは、これらの両方の方法を使用してセグメントをインポートする手順について説明します。

コンピュータから最大 10 個のファイルを直接アップロードしてセグメントを作成できます。アップロードするファイルは、CSV または JSON 形式にすることができます。形式の任意の組み合わせでファイルをアップロードできます。たとえば、1 つの JSON ファイルと 3 つの CSV ファイルをアップロードできます。

セグメントをインポートするには

  1. https://console.aws.amazon.com/pinpoint/ で Amazon Pinpoint コンソールを開きます。

  2. [All projects (すべてのプロジェクト)] ページで、セグメントを追加するプロジェクトを選択します。

  3. ナビゲーションペインの [Segments] を選択します。

  4. [Create a segment] を選択します。

  5. [Create a segment (セグメントの作成)] で、[Import a segment (セグメントのインポート)] を選択します。

  6. [Import method (インポート方法)] で、[Upload files from your computer (コンピュータからファイルをアップロードする)] を選択します。

  7. [Files to import (インポートするファイル)] で、[Choose files (ファイルの選択)] を選択します。インポートするファイル (複数可) を選択します。

    注記

    また、コンピュータのファイルエクスプローラーからファイルをドラッグして [Drop files here (ここにファイルをドロップする)] 領域に直接ドロップすることもできます。

  8. ファイルを Amazon Pinpoint にアップロードする際、インポートするファイルごとにセグメント名を指定する必要があります。[Segment names (セグメント名)] で、次の画像に示すようにインポートするファイルごとにセグメント名を入力します。

    
                                セグメントの作成ページの [Segment names (セグメント名)] セクションを示す画像。この例では、ユーザーが 2 つのファイル High Value Customers.csv と Top Users by Activity.json をアップロードしています。デフォルトでは、Amazon Pinpoint で各セグメントに拡張子のないファイル名と同じ名前が指定されています。
    注記

    デフォルトでは、Amazon Pinpoint でインポートされたファイルの名前 (ただし拡張子なし) と同じセグメント名が表示されます。これらのデフォルト値を任意の名前に変更することができます。

    複数のセグメントに同じ名前を使用できます。その場合は、Amazon Pinpoint により、ファイルごとに別個のセグメントが作成され、一意の ID が各ファイルに割り当てられます。また、作成日もインポートするファイルごとにわずかに異なります。これらの要素を使用して、名前が同じセグメントを区別することができます。

  9. 完了したら、[Create segment (セグメントの作成)] を選択します。

この手順を使用してセグメントをインポートする前に、まず Amazon S3 バケットを作成してファイルをそのバケットにアップロードする必要があります。さまざまなセグメントのファイルを別々のフォルダにまとめることができます。Amazon Pinpoint がセグメントのためのエンドポイントまたはユーザー ID をインポートする場合、指定した Amazon S3 の場所に属するすべてのフォルダとサブフォルダのファイルが含まれます。

バケットの作成およびオブジェクトのアップロードの概要については、「Amazon Simple Storage Service 入門ガイド」を参照してください。

Amazon Pinpoint では、1 つのファイル形式 (CSV または JSON) しかインポートできないため、指定する Amazon S3 パスには、1 つのタイプのファイルのみを含める必要があります。

セグメントをインポートするには

  1. https://console.aws.amazon.com/pinpoint/ で Amazon Pinpoint コンソールを開きます。

  2. [All projects (すべてのプロジェクト)] ページで、セグメントを追加するプロジェクトを選択します。

  3. ナビゲーションペインの [Segments] を選択します。

  4. [Create a segment] を選択します。

  5. [Create a segment (セグメントの作成)] で、[Import a segment (セグメントのインポート)] を選択します。

  6. [Segment name (セグメント名)] に、後で判別しやすいようなセグメント名を入力します。

  7. [Amazon S3 URL] に、セグメントのファイルが含まれている Amazon S3 バケットの場所を入力します。バケットのアドレスは次の形式である必要があります。

    s3://bucket-name/folder-name

    Amazon Pinpoint は指定したパス、およびそのパスの任意のサブフォルダからファイルをインポートします。

  8. [IAM role] で、以下のいずれかのステップを実行します。

    • Amazon Pinpoint を使用して、Amazon S3 バケットからの読み取りを許可するロールを作成するには、[Automatically create a role] を選択します。次に、[IAM ロール] に、作成するロールの名前を入力します。

    • Amazon Pinpoint に対して Amazon S3 バケットからの読み取りを許可する IAM ロールをすでに作成してある場合は、[Choose an existing role (既存のロールを選択)] を選択します。次に、[IAM role] で、適切なアクセス権限を含むロールを選択します。

    IAM ロールを自分で作成する場合は、Amazon Pinpoint 開発者ガイドの「エンドポイントまたはセグメントをインポートするための IAM ロール」を参照してください。ロールの作成が完了したら、Amazon Pinpoint コンソールで指定します。

  9. [What type of file are you importing (どのような種類のファイルをインポートしていますか)] で、Amazon S3 にアップロードしたファイルの形式に従って [JavaScript Object Notation(JSON)] または [Comma-Separated Values (CSV) (カンマ区切り値 (CSV))] を選択します。

  10. [Create segment (セグメントの作成)] を選択します。

サポートされている属性

このセクションの表には、Amazon Pinpoint にインポートするエンドポイント定義で指定できる属性を一覧表示し、説明しています。CSV ファイルを使用してセグメントをインポートする場合、ファイルのヘッダーは、[属性] 列に示されている名前と一致している必要があります。

JSON ファイルの場合、属性名のピリオドは、ピリオドに続く名前が、ピリオドの前の値と等しい名前の親オブジェクトにネストされているオブジェクトであることを示します。たとえば、Demographic.Make 属性と Demographic.Model 属性を含む JSON ファイルの構造は次のとおりです。

{ ... "Demographic": { ... "Make":"Apple", "Model":"iPhone" ... } ... }

完全な JSON 構造は、Amazon Pinpoint API リファレンスの「Endpoint リクエストの例」によく似ています。ただし、セグメントをインポートする際、EndpointStatusEffectiveDate など、Endpoint リクエストスキーマの属性がすべてサポートされているとは限りません。

custom_attribute として表示される属性名を任意の値に置き換えることができます。たとえば、ユーザーの姓と名を FirstNameLastName という名前の属性に保存する場合は、User.UserAttributes.FirstNameUser.UserAttributes.LastName という名前のカスタム属性をそれぞれ作成できます。属性名には、最大 50 文字を含めることができます。属性値には、最大 100 文字を含めることができます。属性名では大文字と小文字が区別されます。

属性 説明
Address エンドポイント (E メールアドレス、電話番号、デバイストークンなど) に送信するメッセージまたはプッシュ通知の一意の送信先アドレス。
Attributes.custom_attribute エンドポイントを定義するカスタム属性。このタイプの属性は、セグメントを作成するときの選択条件として使用できます。custom_attribute は任意の値に置き換えることができます。
ChannelType メッセージまたはプッシュ通知をエンドポイントに送信するときに使用するチャネル。以下に例を示します。
  • APNS – iOS デバイスで実行されているアプリに Apple Push Notification Service (APNs) チャネルを介して送信するプッシュ通知を、エンドポイントが受信できる場合。

  • EMAIL – E メールメッセージを受信できるエンドポイントの場合。

  • GCM – Android デバイスで実行されているアプリに Firebase クラウドメッセージング (FCM) チャネルを介して送信するプッシュ通知を、エンドポイントが受信できる場合。

  • SMS – SMS テキストメッセージを受信できるエンドポイントの場合。

Demographic.AppVersion エンドポイントに関連付けられているアプリケーションのバージョン番号。
Demographic.Locale 次の形式のエンドポイントのロケール。ISO 639-1 alpha-2 コード、その後に下線 (_)、その後に ISO 3166-1 alpha-2 値。たとえば、en_US は米国の英語ロケールです。
Demographic.Make エンドポイントデバイスの製造元 (applesamsung など)。
Demographic.Model iPhone や SM-G900F など、エンドポイントのデバイスのモデル名または番号。
Demographic.ModelVersion エンドポイントデバイスのモデルバージョン。
Demographic.Platform エンドポイントのデバイス上のオペレーティングシステム (iosandroid など)。
Demographic.PlatformVersion エンドポイントのデバイス上のオペレーティングシステムのバージョン。
Demographic.Timezone tz データベース値としてのエンドポイントのタイムゾーン。たとえば、太平洋標準時 (北米) の America/Los_Angeles
EffectiveDate エンドポイントが最後に更新された日付と時刻 (ISO 8601 形式)。たとえば、2019 年 8 月 23 日午前 10 時 54 分(UTC)の場合は、2019-08-23T10:54:35.220Z と指定します。
Id エンドポイントの一意の識別子。
Location.City エンドポイントが配置されている市。
Location.Country エンドポイントが配置されている国またはリージョンの 2 文字のコード (ISO 3166-1 alpha-2 形式)。たとえば、米国の場合は US です。
Location.Latitude 小数点以下 1 桁に丸められた、エンドポイントの場所の緯度座標。
Location.Longitude 小数点以下 1 桁に丸められた、エンドポイントの場所の経度座標。
Location.PostalCode エンドポイントが配置されているエリアの郵便番号。
Location.Region エンドポイントが配置されている都道府県などのリージョンの名前。
Metrics.custom_attribute アプリケーションがエンドポイントについてセグメント化の目的で Amazon Pinpoint にレポートするカスタムの数値メトリクス。たとえば、セッションの数やカートに残っているアイテムの数などです。custom_attribute は任意の値に置き換えることができます。

これらのカスタム値は数値のみです。これらは数値であるため、Amazon Pinpoint は平均や合計などの算術演算をそれらに対して実行できます。

OptOut ユーザーがお客様からのメッセージとプッシュ通知の受信をオプトアウトしたかどうかを示します。使用できる値は次のとおりです。ALL: ユーザーはオプトアウトしており、メッセージやプッシュ通知の受信を希望していません。NONE: ユーザーはオプトアウトしておらず、すべてのメッセージとプッシュ通知の受信を希望しています。
RequestId エンドポイントを更新するための最新のリクエストの一意の識別子。
User.UserAttributes.custom_attribute ユーザーを定義するカスタム属性。custom_attribute は、FirstNameAge など任意の値に置き換えることができます。
User.UserId ユーザー用の一意の識別子

各プロジェクトのエンドポイントとユーザーに対して、40 個までカスタム属性を作成できます。詳細については、Amazon Pinpoint 開発者ガイドの「Amazon Pinpoint のクォータ」を参照してください。