Adobe Targetを使用した最適化とパーソナライズ
Platform Mobile SDK とAdobe Targetを使用して、モバイルアプリのエクスペリエンスを最適化およびパーソナライズする方法について説明します。
Target は、顧客体験をカスタマイズおよびパーソナライズするために必要なすべてを提供します。 Target は、Web サイト、モバイルサイト、アプリ、ソーシャルメディア、その他のデジタルチャネルの売上高を最大化するのに役立ちます。 Target は、A/B テスト、多変量分析テスト、製品とコンテンツのレコメンデーション、コンテンツのターゲット設定、AI を使用したコンテンツの自動パーソナライズなどを実行できます。 このレッスンでは、Target の A/B テスト機能に焦点を当てます。 詳しくは、A/B テストの概要参照してください。
Target で A/B テストを実行する前に、設定と統合が適切に行われていることを確認する必要があります。
前提条件
- SDK がインストールおよび設定された状態で、アプリケーションが正常に構築および実行されました。
- 権限、適切に設定された役割、ワークスペースおよびプロパティを使用して、Adobe Targetにアクセスします こちら。
学習目標
このレッスンでは、次の操作を行います。
- Target 統合のデータストリームを更新します。
- Journey Optimizer - Decisioning 拡張機能を使用してタグプロパティを更新します。
- 提案イベントを取り込むようにスキーマを更新します。
- Assurance の設定を検証します。
- Target で簡単な A/B テストを作成します。
- アプリを更新して、Optimizer 拡張機能を登録します。
- アプリに A/B テストを実装します。
- Assurance で実装を検証します。
セットアップ
データストリーム設定を更新
Adobe Target
モバイルアプリからExperience PlatformEdge Networkへデータが確実にAdobe Targetに転送されるようにするには、データストリーム設定を更新する必要があります。
-
データ収集 UI で「データストリーム」を選択し、データストリームを選択します(例:Luma Mobile App)。
-
サービスを追加 を選択してから、{ サービス リストから 2 Adobe Target} を選択してください。
-
Target Premium のお客様でプロパティトークンを使用する場合は、この統合に使用する Target プロパティトークン 値を入力します。 Target Standard ユーザーは、この手順をスキップできます。
Target UI の 管理/プロパティ で、プロパティを確認できます。 「 」を選択して、使用するプロパティのプロパティトークンを表示します。 プロパティトークンには
"at_property": "xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxx"
のような形式があります。値xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxx
のみを入力する必要があります。オプションで、ターゲット環境 ID を指定できます。 Target では、環境を使用してサイトと実稼動前の環境を整理し、管理を容易にし、レポートを個別に作成できます。 プリセットされた環境には、実稼働、ステージング、開発が含まれます。 詳しくは、 環境および ターゲット環境 ID を参照してください。
オプションで、Target サードパーティ ID 名前空間を指定して、ID 名前空間(例:CRM ID)でのプロファイル同期をサポートすることができます。 詳しくは、Target サードパーティ ID 名前空間を参照してください。
-
「保存」を選択します。
Adobe Journey Optimizer
モバイルアプリからEdge Networkに送信されるデータがJourney Optimizer - Decision Management に転送されるようにするには、データストリーム設定を更新します。
-
データ収集 UI で「データストリーム」を選択し、データストリームを選択します(例:Luma Mobile App)。
-
「{ その他 編集 を選択します。
-
データストリーム/ /Adobe Experience Platform 画面で、「Offer decisioning」、「Edgeのセグメント化」および「Personalizationの宛先」が選択されていることを確認します。 Journey Optimizerのレッスンにも従う場合は、「Adobe Journey Optimizer」を選択します。 詳しくは、Adobe Experience Platform 設定を参照してください。
-
データストリーム設定を保存するには、「保存」を選択します。
Adobe Journey Optimizer - Decisioning タグ拡張機能のインストール
-
Tags に移動し、モバイルタグプロパティを見つけて、プロパティを開きます。
-
拡張機能 を選択します。
-
カタログ を選択します。
-
Adobe Journey Optimizer - Decisioning 拡張機能を検索します。
-
拡張機能をインストールします。 拡張機能では、追加の設定は必要ありません。
スキーマを更新
- データ収集インターフェイスに移動し、左パネルから スキーマ を選択します。
- 上部のバーから 参照 を選択します。
- スキーマを選択して開きます。
- スキーマエディターで、「フィールドグループ の横にある「 追加 **** 追加 を選択します。
- フィールドグループの追加 ダイアログで、
proposition
を検索し、エクスペリエンスイベント – 提案インタラクション および フィールドグループの追加 を選択します。
- スキーマへの変更を保存するには、「保存」を選択します。
Assurance での設定の検証
Assurance で設定を検証するには:
- Assurance UI に移動します。
- 左側のパネルで 設定 を選択し、{6 の下の 設定を検証 の横にある「追加 を選択します。
- 「保存」を選択します。
- 左パネルで 設定を検証 を選択します。 データストリームの設定と、アプリケーションでの SDK の設定の両方が検証されます。
A/B テストの作成
概要で説明したように、Adobe Targetで作成してモバイルアプリに実装できるアクティビティには、多くの種類があります。 このレッスンでは、A/B テストを実装します。
-
Target UI の上部バーで「アクティビティ」をクリックします。
-
アクティビティを作成 と A/B テスト をコンテキストメニューから選択します。
-
A/B テストアクティビティを作成 ダイアログで、タイプ として モバイル を選択し、Workspaceを選択 リストからワークスペースを選択し、プロパティを選択 リストからプロパティを選択します(Target Premium のユーザーで、データストリームでプロパティトークンを指定した場合)。
-
「作成」を選択します。
-
名称未設定アクティビティ 画面の エクスペリエンス ステップで、次の操作を行います。
-
LOCATION 1 の下の Select Location に
luma-mobileapp-abtest
と入力します。 この場所名(mbox と呼ばれることが多い)は、アプリの実装で後で使用されます。 -
デフォルトコンテンツ の横にある ![Chrevron down] を選択し、コンテキストメニューから JSON オファーを作成 を選択します。
-
次の JSON を 有効な JSON オブジェクトを入力 にコピーします。
code language-json { "title": "Luma Anaolog Watch", "text": "Designed to stand up to your active lifestyle, this women's Luma Analog Watch features a tasteful brushed chrome finish and a stainless steel, water-resistant construction for lasting durability.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/watches/Luma_Analog_Watch.jpg" }
-
「+ エクスペリエンスを追加」を選択します。
-
エクスペリエンス B に対して手順 b と c を繰り返しますが、代わりに次の JSON を使用します。
code language-json { "title": "Aim Analog Watch", "text": "The flexible, rubberized strap is contoured to conform to the shape of your wrist for a comfortable all-day fit. The face features three illuminated hands, a digital read-out of the current time, and stopwatch functions.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/watches/Aim_Watch.jpg" }
-
「次へ」を選択します。
-
-
Targeting のステップでは、A/B テストの設定をレビューします。 デフォルトでは、両方のオファーがすべての訪問者に均等に割り当てられます。 「次へ」をクリックして続行します。
-
目標と設定 手順で、次の操作を行います。
-
名称未設定アクティビティの名前を
Luma Mobile SDK Tutorial - A/B Test Example
などに変更します。 -
A/B テストの 目的 を入力します(例:
A/B Test for Luma mobile app tutorial
)。 -
目標指標/自分のプライマリ目標 タイルで コンバージョン、mbox を表示 を選択し、
luma-mobileapp-abtest
などの場所(mbox)名を入力します。 -
保存して閉じる を選択します。
-
-
すべてのアクティビティ 画面に戻ります。
- アクティビティで を選択します。
- アクティベート を選択して、A/B テストをアクティベートします。
アプリへの Target の実装
前のレッスンで説明したように、モバイルタグ拡張機能をインストールしても、設定のみが提供されます。 次に、Optimize SDK をインストールして登録する必要があります。 これらの手順が明確でない場合は、「SDK のインストール の節を参照しください。
-
Xcode で、AEP Optimize がパッケージの依存関係にあるパッケージのリストに追加されていることを確認します。 Swift パッケージマネージャーを参照してください。
-
Xcode プロジェクトナビゲーターで Luma/Luma/AppDelegate に移動します。
-
AEPOptimize
が読み込みのリストに含まれていることを確認します。import AEPOptimize
-
Optimize.self
が、登録している拡張機能の配列の一部であることを確認します。code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動します。
func updatePropositionAT(ecid: String, location: String) async
関数を検索します。 次のコードを追加します。code language-swift // set up the XDM dictionary, define decision scope and call update proposition API Task { let ecid = ["ECID" : ["id" : ecid, "primary" : true] as [String : Any]] let identityMap = ["identityMap" : ecid] let xdmData = ["xdm" : identityMap] let decisionScope = DecisionScope(name: location) Optimize.clearCachedPropositions() Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData) }
この関数:
- a/B テストを提示する必要があるプロファイルを識別する ECID を含む、XDM 辞書
xdmData
ードを設定します。 - a/B テストを提示する場所の
decisionScope
配列を定義します。
次に、関数は 2 つの API (
Optimize.clearCachedPropositions
とOptimize.updatePropositions
)を呼び出します。 これらの関数は、キャッシュされた提案をすべてクリアし、このプロファイルの提案を更新します。 このコンテキストでの提案は、Target アクティビティ(A/B テスト)から選択され、A/B テストの作成で定義したエクスペリエンス(オファー)です。 - a/B テストを提示する必要があるプロファイルを識別する ECID を含む、XDM 辞書
-
Xcode プロジェクトナビゲーターで Luma/Luma/Views/Personalization/TargetOffersView に移動します。
func onPropositionsUpdateAT(location: String) async {
関数を見つけて、この関数のコードを調べます。 この関数の最も重要な部分は、Optimize.onPropositionsUpdate
API 呼び出しです。この呼び出しは、次のような特徴があります。- 決定範囲(A/B テストで定義した場所)に基づいて、現在のプロファイルの提案を取得します。
- 提案からオファーを取得します。
- オファーのコンテンツを展開して、アプリで適切に表示できるようにします。
- トリガーは、オファーが表示されたことを通知するイベントを Platform Edge Networkに送り返す、オファーの
displayed()
アクションを設定します。
-
TargetOffersView のまま、次のコードを
.onFirstAppear
修飾子に追加します。 このコードにより、オファーを更新するためのコールバックが 1 回だけ登録されます。code language-swift // Invoke callback for offer updates Task { await self.onPropositionsUpdateAT(location: location) }
-
TargetOffersView のまま、次のコードを
.task
修飾子に追加します。 このコードは、ビューが更新されると、オファーを更新します。code language-swift // Clear and update offers await self.updatePropositionsAT(ecid: currentEcid, location: location)
Optimize.updatePropositions
API の呼び出し時にデータディクショナリに追加することで、パーソナライゼーションクエリリクエストで追加の Target パラメーター(mbox、プロファイル、製品、注文パラメーターなど)を Experience Edge Network に送信できます。 詳細については、「ターゲット・パラメータ を参照てください。
アプリを使用した検証
-
を使用して、シミュレータまたは Xcode の物理デバイスでアプリを再構築して実行します。
-
「パーソナライゼーション」タブに移動します。
-
一番下までスクロールすると、A/B テストで定義した 2 つのオファーのいずれかが TARGET タイルに表示されます。
{width="300"}
Assurance での実装の検証
Assurance で A/B テストを検証するには:
-
シミュレーターまたはデバイスを Assurance に接続するには、「 設定手順」セクションを確認してください。
-
左側のパネルで 設定 を選択し、{6 の下の レビューとシミュレーション の横にある「追加 を選択します。
-
「保存」を選択します。
-
左パネルで レビューとシミュレート を選択します。 データストリームの設定と、アプリケーションでの SDK の設定の両方が検証されます。
-
上部のバーで「リクエスト」を選択します。 Target リクエストが表示されます。
-
「シミュレート」タブと「イベントリスト タブを調べて、Target オファーの設定を確認する機能を探ることができます。
次の手順
これで、関連する場合および該当する場合に、A/B テストまたはその他の Target アクティビティ(エクスペリエンスのターゲット設定、多変量分析テストなど)のアプリへの追加を開始するためのすべてのツールが用意できました。 Optimize 拡張機能の GitHub リポジトリーではAdobe Target オファーのトラッキング方法に関する専用の チュートリアルへのリンクも確認できます。
次のトピック:結論と次のステップ