Adobe Campaign Classic エンリッチメントアクティビティ基本手順補足編(リンク設定によるデータ抽出／ターゲティングディメンジョン変更)

# はじめに

Adobe Campaign Classicで、既にワークフローを作成している皆さん、
これからワークフローを作成する予定の皆さん、
今回は、前回ご紹介したエンリッチメントアクティビティを利用した基本設定手順(https://qiita.com/ASkmt/items/65b1fbd041eebc94858b)
の補足編になります。

機能詳細や仕様は以下の製品ドキュメントを参考にしてください。
Adobe Campaignの製品ドキュメントは[こちら](https://experienceleague.adobe.com/docs/campaign-classic/using/automating-with-workflows/targeting-activities/enrichment.html?lang=ja)

本手順は以下の環境を前提としたものになっております。
・Adobe Campaignバージョン情報：9032(日本語環境)
・対象環境：Managed/Hybrid/On-Premise

# 今回の補足事項
エンリッチメントアクティビティにて有用性の高い以下の２点をご紹介します。
**1) リンク設定にて、メインデータ(母集団)と別スキーマ(一時スキーマも可)双方の情報の抽出方法**
**2) ターゲティングディメンジョンの変更方法**

# 1)リンク設定にて、メインデータ(母集団)と別スキーマ(一時スキーマも可)双方の情報の抽出方法

この方法は、以下のようなケースで有用な手段になります。
・ワークフロー内で抽出したメインデータ(母集団)と、
　リンク設定が無い別スキーマ(一時スキーマも可)を結合して(データ紐付け条件を任意に設定可)、
　双方の情報を保持するデータを抽出したい

・出力した一時スキーマの項目値により、後続フローで複数の配信コンテンツに振り分けたい、
　配信コンテンツ内の差し込み項目として利用したい等

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/51cc2f3d-24e7-c35f-8fa5-c6f3f60e2518.jpeg)
**エンリッチメントによるリンク設定後**
以下の例は、「WebログインID」でWebアクセスログデータと結合したイメージになります。
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/9464e4fa-1875-8a55-b6e6-d21a28418182.jpeg)
以下の例では、月間サイト訪問回数により配信するコンテンツを分けるなどの対応も可能です。
※月間サイト訪問回数等の集計処理は、明細データを元にしてAdobe Campaign上でも実現可能ですが、
  今回の記事では予め集計されていることを前提とします。
![3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/a4fa9d0d-be0e-8f3e-3ac2-a5cd6ae80ecc.jpeg)
## 設定手順
では、実際に設定してみましょう。
前提として、今回は「受信者」スキーマから任意の条件でデータを抽出した結果に対して、
エンリッチメントアクティビティにて、明示的なリンク設定を行って
Webアクセスログデータの情報を取得する手順とします。

例えば、以下のようにクエリアクティビティにて受信者データを抽出できており、
かつ、参照したい項目を出力列として設定されている状態とします。
![4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/fefdcef0-3b65-b3e2-df7b-b38e4bd221dd.jpeg)
###エンリッチメントアクティビティの設定
①ワークフロー作成画面にて、画面左側のアクティビティパレットから
　「エンリッチメント」アクティビティを選択し、ダイアグラム上にドラッグ＆ドロップします。
　先行のクエリアクティビティの後に「エンリッチメント」アクティビティを接合します。
![5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/c83b8e68-7acf-2648-7f5b-b9fb24350568.jpeg)
②「エンリッチメント」アクティビティを開き、
　「プライマリセット」に先行アクティビティ名が設定されていることを確認します。
　プライマリセットが正しく設定されていることを確認後、「データを追加...」をクリックします。
![6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/068c02a6-f14e-a943-9f39-e0930ad2439d.jpeg)
③追加するデータのタイプを選択します。
　「リンク」を選択し、「次へ」をクリックします。
![7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/c778baff-3aa9-3d3c-badb-2190bf4596ab.jpeg)
④リンクタイプについては、データ紐付けが必ず1対1となる場合は
　「ターゲットが常に使用可能であるリンクを定義」を設定し(Inner Joinになります)、
　1対0となる可能性がある場合は「データベース内にターゲットが存在しない可能性がある
　リンクを定義」を設定します(Outer Joinになります)。
　今回は、Webアクセスログとの紐付けであり、Webアクセスがない顧客の存在も想定できるため、
　データ紐付けが1対0となる可能性を考慮して後者を設定します。
　また、Webアクセスログはデータベース上のスキーマとして存在しているため、
　リンクターゲットを「データベーススキーマ」とし、ターゲットスキーマに適切な内容を設定します。
　確認後、「次へ」をクリックします。
![8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/b37a990a-e14a-3920-300f-9d9d19bd0567.jpeg)
⑤リンクの定義では、複雑なデータ紐付け条件でない限りは「単純結合を利用」を選択し、
　紐付けするための項目をソーススキーマとターゲットスキーマとで、
　それぞれ設定後「完了」をクリックします。
　今回は、共通の項目である「webLoginId」を設定しました。
　※高度な結合条件としては、例えば関数を利用したデータ紐付けが可能です。
　　ただし複雑なデータ紐付けについては意図せぬ結合が行われ、
　　大量データが生成されてDB容量を逼迫するリスクがございますので、
　　トラブル防止のために、少量データからの検証を強く推奨します。
![9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/8456b8e5-47f0-7410-4a6b-f5d7919f2120.jpeg)
⑥リンクが正しく設定されていることを確認後、「追加データを編集」ボタンをクリックし、
 どの項目を抽出結果として出力するのか設定します。
![10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/6e5e0c7e-5b0a-5b07-cc58-63d95335b50b.jpeg)
⑦今回は、Webアクセスログスキーマ上の月間サイトPV回数と月間サイト訪問回数を追加出力するため、
　画面左ぺインにて、Webアクセスログスキーマを展開後、該当項目を選択して出力列に設定します。
　その後、「OK」をクリックします。
　※既に、先行のクエリアクティビティにて必要な出力列を定義済みであり、
　　かつ「メインセットからのすべての追加データを維持」にチェックをしているため、
　　出力列としては、先行のクエリアクティビティの出力列＋月間サイトPV回数と
　　月間サイト訪問回数になります。
![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/aa56ff77-fe07-fdf3-1330-e1da31e8c4a0.jpeg)
⑧適切にリンクと出力列が設定されていることを確認後、「OK」をクリックします。
![12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/6df99eb6-fc89-fb71-98eb-868f0f95883b.jpeg)
###結果の確認
①ワークフローを保存し、ワークフローの「プロパティ」をクリックします。
「2つの実行間の中間母集団の結果を保持」にチェックを入れます。
　※本オプションはテスト時のみ利用するようにしてください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/1988a9ff-e795-c8b3-89cf-21678d3f2515.png)
②ワークフローを実行します。
![13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/a2dfa60f-07ee-e155-1852-43a5193a8e09.jpeg)
③エンリッチメントアクティビティのトランジッション(矢印)を右クリックし、「ターゲットを表示...」をクリックします。
![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/d26ca639-ad30-8a4e-1810-a42c889ec349.jpeg)
④データを参照すると、Webアクセスログ上のデータが取得されていることが確認できます。
![15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/5c8af152-3223-b07d-f90d-380386bf499a.jpeg)
 例えば、月間サイト訪問回数が30回以上の顧客には、ヘビーユーザ向けのコンテンツを配信したり、
 5回未満の顧客にはサイト訪問のメリット等を訴求するコンテンツを配信する等の出し分けも可能です。
![16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/dddd168b-4051-247d-2dd4-16be8b60c949.jpeg)
# 2) ターゲティングディメンジョンの変更方法
この方法は、以下のようなケースで有用な手段になります。
・ワークフロー内で扱うメインデータ(母集団)と別スキーマ(一時スキーマも可)との情報を
　まとめて出力する際に、特定のスキーマをターゲティングディメンションとして設定できる
　※ターゲティングディメンションの設定は「ディメンションを変更」アクティビティでも可能です。
・メール配信アクティビティは、製品標準機能ですと、受信者スキーマがターゲティングディメンションであることが必須になります、そのための一例を設定手順でご紹介します

## 設定手順
では、実際に設定してみましょう。
前提として、今回は「受信者トラッキングログ」スキーマから
3回以上メール開封を行っている受信者を抽出後、
エンリッチメントアクティビティにて、受信者スキーマをターゲティングディメンションを設定します。
※エンリッチメントアクティビティ設定部分からの手順になります。

①ワークフロー作成画面にて、画面左側のアクティビティパレットから
　「エンリッチメント」アクティビティを選択し、ダイアグラム上にドラッグ＆ドロップします。
　先行のクエリアクティビティの後に「エンリッチメント」アクティビティを接合します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/4b61c970-9ed6-a478-2686-74aec0a68aeb.png)
②「エンリッチメント」アクティビティを開き、
　「プライマリセット」に先行アクティビティ名が設定されていることを確認します。
　プライマリセットが正しく設定されていることを確認後、「データを追加...」をクリックして、
　取得したいデータを適宜設定します。
![18.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/b0cd6ad3-fcd8-32bc-2f5f-3a8e3fada630.jpeg)
③ターゲティングディメンションを設定する場合は、「紐付け」タブをクリック後、
　「作業データからドキュメントを識別」にチェックを付けて、
　ターゲティングディメンションと紐付け条件の種別を選択し、具体的な紐付け項目を設定します。
　この例では、受信者をターゲティングディメンションに設定するため、
　「シンプルな紐付けキーを使用」し、かつ、ソース式にはメインデータ(母集団)上の
　受信者を識別できる項目を、宛先の式には受信者スキーマのIDを設定してます。
![19.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/f56d658f-fb23-3f2d-c2b9-b351cdee7f04.jpeg)
④ターゲティングディメンションが受信者スキーマであるため、メール配信も問題なく処理できます。
![22.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/d6c5f862-9a35-8822-d95d-671a47c6e0df.jpeg)
###結果の確認
①前述と同様に「2つの実行間の中間母集団の結果を保持」にチェック後、
　ワークフローを実行して、出力されたデータを確認します。
　「データ」タブでは抽出されたデータと、ターゲティングディメンションの値を確認できます。
![20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/c02ff0e2-cf25-9137-703e-1b21546e0856.jpeg)
　「スキーマ」タブでは、どのスキーマがターゲティングディメンションであるのか確認できます。
![21.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1084120/ebd9aa3c-8894-93d6-16bc-24e9cb1937bb.jpeg)

#おわりに
私たちのチームでは技術のエキスパートを随時募集しています。
カスタマーサクセス部門の紹介や職種のご紹介をしていますので、下記のページもぜひご覧ください！
https://blog.adobe.com/jp/publish/2021/06/21/corp-adobe-life-talent-interview-11.html#gs.bvoc16