Amazon Web Services ブログ

Amazon Marketing Cloud Uploader from AWS – より深い顧客インサイトを得るためのソリューション (Part 2)

このブログシリーズの Part 1 では、Amazon Advertising(以下、Amazon Ads)の提供するアドテックソリューションである Amazon Marketing Cloud(以下、AMC)と、お客様の所有するファーストパーティーデータを AMC に取り込んで更に深く顧客インサイトを得ることを支援する AWS ソリューションの一つである Amazon Marketing Cloud Uploader from AWS(以下、AMC Uploader)について概要とデプロイ手順を紹介しました。

Part 2 では AMC Uploader を利用し、データを AMC に取り込むための手順や画面を紹介します。

AMC にアップロードするデータの準備

デプロイした Web アプリケーションにアクセスする前に、アップロードするデータを指定した Amazon Simple Storage Service(S3)バケットに用意します。AMC Uploader を使わない場合には、配置するデータを予め、AMC の定めるルールに従って前処理しておく必要があります。AMC Uploader を使ことでその前処理のステップを全て AMC Uploader のソリューションが引き受けて処理するため、お客様はファイルを S3 にアップロードするだけでよくなるのです。

参考までに、AMC Uploader を利用しない場合には、どのような前処理をしなくてはならないのかも合わせてご紹介します。

AMC の提供する AMC Data Upload 機能のデータ要件

AMC の提供するドキュメント「AMC Data Upload Documentation」で解説されていますが、この機能を使ってお客様のデータを AMC に取り込むためには、そのデータを次の 4 つの要件を満たすよう準備する必要があります:

  1. ファイルフォーマット
  2. データ型とフォーマット
  3. FACT データと DIMENSION データ
  4. ファイル前処理(分割、正規化、PII ハッシュ化)

1. ファイルフォーマット

これは最もシンプルな要件です。AMC Data Upload 機能で取り込むことのできるファイル形式は、CSV ファイル、JSON ファイルの 2 種類で、UTF-8 でエンコードされている必要があります。JSON の場合、データ行ごとにオブジェクトは 1 つのみの制限があり、配列型を使うことができない点は留意が必要です。

2. データ型とフォーマット

利用することのできるデータ型は以下の表のものになります。 TIMESTAMP 型、 DATE 型のフォーマットは ISO 8601 準拠になっています。

データ型 フォーマット サンプル
STRING UFF-8 エンコード文字 “My string data”
DECIMAL 浮動小数点2桁の数値 123.45
INTEGER 32 ビット整数 12345
LONG 64 ビット整数 1233454565875646
TIMESTAMP points yyyy-MM-ddThh:mm:ssZ 2022-08-02T08:00:00Z
DATE yyyy-MM-dd 2022-08-02

3. FACT データと DIMENSION データ

AMC に取り込むデータは FACT あるいは DIMENSION のいずれかのデータタイプに分類されます。FACT データとは時系列データのことで、例えば顧客の購入履歴データなどが相当します。DIMENSION データとは商品データやキャンペーンデータなど静的なデータです。アップロードするファイルが FACT データの場合、分割期間を指定する必要があります。分単位、時間単位、日単位、週単位のいずれかから指定します。たとえば、週単位を指定したデータは日単位ではクエリできません。AMC は指定した分割基幹でアップロード時にデータを分割します。たとえば、8 月のデータを含むファイルを日単位の指定でアップロードすると、AMC はファイルを日ごとに一つずつ、合計 31 個に分割された形で取り込みます。このデータ分割と単位の仕様を理解しておくことはクエリ時にとても重要です。

4. ファイル前処理(正規化、PII ハッシュ化)

AMC のデータと、お客様がアップロードするファーストパーティデータをユーザーレベルで結合するためには、結合キーとなる識別子が一つ以上含まれている必要があります。この情報は個人を識別できる情報(Personally Identifiable Information; PII)になり得るため、AMC では識別子に相当するデータはすべてハッシュ化されており、お客様データに含まれる識別子を同じロジックでハッシュ化することで、ハッシュ値が双方同じ値となり、結合することができるようになります。AMC でサポートしている識別子はメールアドレス、名前、住所、郵便番号、電話番号、LiveRamp の提供する ID などです(2023 年 7 月時点)。

AMC と同じ仕様でハッシュ化するために適用しなくてはならないルールがいくつかあります。例えばテキストは全て小文字にする、電話番号のハイフンなどは削除し国コードをつける、といった正規化、その上で SHA-256 によるハッシュ化を行います。

こういった前処理要件は、一つ一つがそれほど難しいものというわけではありませんが「差別化につながらない重労働」であることに間違いありません。AMC Uploader を利用することでこういった処理を皆様ご自身で実装していただく必要がなくなります。

AMC Uploader のデモ

AMC Uploader は、データセットの定義とデータの準備に必要な情報をユーザーが指定できるようにガイドする Web アプリケーションを提供します。ユーザーが Web アプリケーションから情報を登録すると、AWS Glue ジョブが AMC のデータ前処理を行い、AMC の API を利用してデータのアップロードをリクエストします。

それではソリューションによりデプロイされた Web アプリケーションにアクセスし、用意したデータをアップロードしてみましょう。

Web アプリケーションへのログイン

ソリューションのデプロイ完了後に表示された Web アプリケーションの URL にアクセスすると、ログイン画面が表示されます。管理者ユーザー、あるいは追加で登録したユーザーのユーザー名、パスワードでログインしてください。

Web アプリケーションは 6 つのステップで構成されており、左側のステップの順に進めることで操作することができます。

Step 1. ファイルの選択

指定の S3 にファイルを配置しておくと、この画面ではそのファイルが自動表示されます。アップロードしたい対象ファイルを選択したり、削除したりすることが可能です。

Step 2. 接続先 AMC インスタンスの選択

このソリューションでは、一つの Web アプリケーションから複数 AMC に接続できるようになっています。複数の AMC インスタンスを所有されているお客様はここでデータをアップロードする対象のインスタンスを切り替えることが可能です。

Step 3. データセットの定義

ここではアップロードするデータに関する情報を定義します。データの定義情報のことを「データセット」と呼びます。

まず新規データセットを作成する場合は、[Create new dataset] を選択し、データセットの名前を入力します。ここで指定する名前で AMC 内にテーブルが作成され、アップロードするデータはそのテーブルにインポートされます。データアップロード後に AMC でクエリする際のテーブル名になりますので、わかりやすい名前で、かつ、AMC インスタンス内でユニークな名前にしてください。既存のデータセットを更新することも可能です。その場合は [Add to existing dataset] を選択すると、定義済みのデータセットがドロップダウンで選択できるようになります。

  • 「Description」は任意項目です。このデータセットが何のためのものかの情報をメンバーと共有するために使うとよいでしょう。
  • 「Dataset Type」では、対象のデータセットが(前述した) FACT データなのか DIMENSION データなのかを指定します。
  • 対象が FACT データの場合、「Dataset Period」で分割期間を指定します。[Autodetect](自動検出) を選択すれば、自動的に対象データセットにおいて最も短期間になるデータセット期間を選択し、その期間でデータを分割します。ご自分で指定の期間でアップロードしたい場合には、以下のいずれかから選択してください:
    • PT1M (分単位)
    • PT1H (時間単位)
    • P1D (日単位)
    • P7D (週単位)
  • データを指定の AWS Key Management Service(KMS)鍵で復号化している場合には、[Encryption Mode] に表示されます。これはソリューションのデプロイ時に指定する必要があり、この画面上では変更することはできません。
  • 「Country」のプルダウンから指定の国コードを選択します。国コードは、住所や電話番号といった国によってフォーマットの異なる項目の正規化処理時に利用されます。対象ファイル一つにつき、国コードは一つしか選択できません。つまり電話番号が US(アメリカ)で、住所は JP(日本)といったデータを処理することはできません。このような場合には、国コードの異なる列を別ファイルとしてそれぞれアップロードを行ってください。

Step 4. データ項目の定義

Step 1 で指定したファイルを読み込み、自動的に列名やデータ型が識別され表示されます。これを実際のデータ項目に合わせて修正します。

例えば画面の例であれば、

  • first_name、last_name は購入者の名前で、識別された通りのデータ型「String」ですが、PII データに相当するので [Column Type] で「PII」を選択し、PII の種類を選択します。ここではそれぞれ「FIRST_NAME」「LAST_NAME」になります。PII を指定しない項目はハッシュ化されない、つまり、AMC 上のデータとの結合キーにできません。
  • 同じく購入者のメールアドレスである email も PII であり、PII の種類は「EMAIL」とします。
  • データが FACT データ(時系列データ)の場合、いずれか一つは必ず Timestamp 型の列が必要になります。ここでは購入時のタイムスタンプが記録されている timestamp 列が相当します。この列には  [Column Type] として「MainEventTime」を指定します。この属性が指定された項目でデータはパーティショニングされます。
  • product_name、product_quantity はそれぞれ購入された商品名とその数になります。商品名は例えば商品マスターデータと結合することが考えられます。こういった値は「Dimension」を指定します。購入数には「Metric」を指定します。

Column Type には他のタイプもあります。詳細についてはドキュメントを参照してください。

Step 5. 確認

ここまでに設定した内容が表示されます。[Submit] をクリックすると、データの前処理が開始され、終了次第、AMC へのアップロードが実行されます。

Step 6. アップロード状況確認

このページでは、データセットの作成、アップロード状況、AWS Glue による前処理ジョブの実行状況をモニタリングすることができます。各ステップが非同期に実行されるため、データセットの登録後、短時間で AMC へのアップロード完了が確認できることもあれば、少し時間を要することもあります。アップロードするデータサイズによっても処理時間は変動します。

各セクションの情報は以下です:

  • データセット – ここには、選択した AMC インスタンスに定義済みのデータセットに関する情報が表示されます。いずれかのデータセットを選択するとその詳細を確認することができます。
  • アップロード – ここには、「データセット」のセクションで選択されたデータセットに対するアップロード状況が表示されます。[Status] 欄に、Pending(処理待ち)、Running(処理中)、Succeeded(完了)といった状況が表示されます。完了になったものは、AMC でクエリできる状態です。
  • AWS Glue ジョブ – ここには、アップロードリクエストに応じて実行された前処理のジョブに関する情報が表示されます。ジョブを選択し [Show Details] にチェックを入れると、Glue ジョブのログを直接確認することができます。エラー等の場合の問題判別時に便利です。

AMC に取り込まれていることを確認

アップロードが完了すると、AMC のテーブルリストにデータセット名画表示されるようになります。以下は筆者のデモ環境に取り込んだ結果で、「sample_fact_1」「sample_fact_data_definitios」といったテストデータが取り込まれていることが確認できます。

このデモ環境では AMC の既存データと結合できるファーストパーティーデータがないため、実際のクエリ結果を確認することはできないのですが、データが取り込まれることは確認できました。

応用編

このブログでは、ソリューションによってデプロイされる Web アプリケーションからの画面操作による利用方法をご紹介しました。画面操作ではなく、API ベースで AMC Uploader の機能を実行することも可能です。S3 へのファイル配置を自動化し、これをトリガーにして AMC Upload を起動したり、時間指定で実行するなどのさらなる自動化もできるよう、画面操作と同じ内容を実行するための「start_amc_transformation」API も提供されています。詳しくはガイドを参照ください。

まとめ

AMC は、Amazon Ads を利用する広告主の皆様が Amazon Adsの広告経由で発生したインプレッションやクリックなどのイベント毎のデータを容易に分析することのできるクリーンルームを提供するサービスです。AMC のデータを活用して広告の様々な効果や投資最適化を検討することができます。この AMC にさらに広告主の皆様の所有するファーストパーティーデータを取り込み、AMC のデータと結合して多角的な分析することで、より多くの洞察を得ることが可能です。AMC Uploader は、ファーストパーティーデータを AMC に取り込むための共通的な「差別化につながらない重労働」を自動化するための AWS ソリューションです。十数分もあれば自動化環境がデプロイでき、完全サーバーレスなのでサーバーの保守運用にお手間を取らせることはありません。デプロイ後は、ソリューションの提供する Web アプリケーション経由でアップロードするデータの定義情報を登録し、S3 バケットにデータを準備すれば、AMC へのアップロードが開始されます。

AMC のバージョンアップに合わせ、AMC Uploader の機能も今後バージョンアップされることが期待できます。Amazon Ads をご利用中のお客様はぜひお試しください。

参考リンク

AWS ソリューションライブラリ

Amazon Marketing Cloud Uploader from AWS

Amazon Marketing Cloud Insights on AWS

関連ブログ

Amazon Marketing Cloud Uploader の紹介

Amazon Marketing Cloud Insights on AWS – Amazon Ads のパフォーマンスを可視化するソリューション (Part 1) (Part 2)


この記事は、エンタープライズ技術本部 小売・消費財ソリューション部 Solutions Architect 杉中が担当しました。