Amazon AppFlowでMarketing Cloud Account Engagement(旧:Pardot)のデータをAmazon S3に連携する

らくらくデータパイプライン構築
2022.08.04

データアナリティクス事業本部インテグレーション部コンサルティングチーム・新納(にいの)です。

みなさん、マーケティングをオートメーションしていますか?MA(マーケティングオートメーション)ツールといえば、広く知られているのはMarketing Cloud Account Engagement(旧:Pardot)ですよね。

※Pardotは2022年4月7日より「Marketing Cloud Account Engagement」に名称変更していますが、本記事ではAWSマネジメントコンソール上の表記に従って「Pardot」と記載いたします。

Pardot上でもデータ内容をいい感じに確認できますが、他システムのデータと突合して確認したいケースではデータを取得しておけると便利ですよね。今回はデータ統合ツールであるAmazon AppFlowを使ってPardotのデータをS3に連携します。

おさらい:Amazon AppFlowとは?

Amazon AppFlowとは、SaaSサービスのデータをAmazon RedshiftやAmazon S3といったAWSサービスや、SnowflakeやSalesforceなどに転送できるフルマネージドなデータ統合サービスです。

今回はAppFlowを使い、PardotのデータをS3バケットに連携します。

Amazon AppFlowでフロー作成する

では本題に入りましょう。AWSマネジメントコンソールから「フロー作成」に移動します。フロー名には任意のものを設定し、他の設定はデフォルトのまま次へ進みます。

Pardotとの接続

送信元には「Salesforce Pardot」を指定し、接続ボタンから接続設定を行います。

接続設定画面ではProduction・Sandbox環境かを選べます。PardotのビジネスユニットID(0Uvから始まる18桁の文字列。Pardotのアカウント設定画面から確認可能です)と任意の接続名を記載して続行します。

Amazon_AppFlow_Pardot_Embedded_Login_AppがPardotにアクセス許可を求めるダイアログが出ますので、許可を選択して次に進みます。

すると、元のAppFlowの送信元選択画面に遷移します。連携したいPardotオブジェクトをドロップダウンリストから選択します。今回はCampaignを選択してみました。データの送信先にはS3を選択し、バケットをドロップダウンリストから選択します。

その他の設定からデータ形式、データ転送の設定、ファイル名の設定、フォルダ構造の設定が可能です。今回はCSV形式で出力し、フロー実行ごとにファイルをひとつに集約するように「すべてのレコードを集約する」にしました。あとの設定はデフォルトのままです。

フロートリガーでは実行のトリガーを選択可能です。今回はテスト実行のため、オンデマンドでの実行に設定しました。

マッピング設定

次の画面ではマッピングの設定を行います。今回は「手動でフィールドをマッピングする」を選択しました。

データ連携する項目を選択し、データ型の変更などの簡単な変換処理が行えます。今回は項目をそのまま連携させます。

妥当性確認では、条件によってフロー終了したりレコードを無視したりできます。今回は、Idの値がNULLの場合はフローを終了するように設定しています。

フィルター追加

フィルターでは、条件を満たすレコードのみを転送するよう設定可能です。2022/1/1以降のレコードのみを連携するよう設定しました。

確認画面でフロー作成を完了します。

フロー実行してみた

早速作成したフローを「フロー実行」ボタンから実行します。

送信先のS3バケットにデータが作成され、S3 Selectするとちゃんとデータの中身も入っていることが確認できました。

まとめ

コードを書かずにデータパイプラインを作り、PardotのデータをS3に連携させることができました。非エンジニア職の方も簡単に分析に使うデータが取得できて可視化までのハードルが下がりますね。Glue DataBrewと組み合わせることで、データの取得からクレンジング処理もノーコードでできるようになり、さらに便利に使えそうです。

参考資料