Audience Activation
Audience Activation 拡張機能を使用すると、Adobe CommerceでReal-Time CDP オーディエンスをアクティブ化して、買い物かごに一意のオファーを作成できます。 これらのオファーとインセンティブには、2 つ買うと 1 つ無料 などの一般的な e コマースマーチャンダイジング手法、その顧客に向けたヒーローバナー、様々なオファーを通じた商品価格の変更が含まれます。 Real-Time CDP内に構築されるオーディエンスは、エンタープライズリソースプランニング(ERP)、顧客関係管理(CRM)、POS、マーケティングシステムなど、様々なエンタープライズシステムのデータに基づいています。 顧客セグメント情報は絶えず更新されるので、顧客はストアでの買い物の際にセグメントとの関連付けや関連付けの解除を行うことができます。
Luma ストアフロントまたは ヘッドレスストアフロントでオーディエンスをアクティブ化できます。 Luma ストアフロントでは、オーディエンス情報(セグメントメンバーシップ)がCommerce側の cookie に保存されます。 ヘッドレスストアフロントでは、オーディエンス情報が、aep-segments-membership
という名前のパラメーターとしてGraphQL API ヘッダーに渡されます。
リリースノート
この節では、Audience Activation拡張機能のアップデートについて説明します。アップデートには次のものが含まれます。
リリーススケジュールとサポートについては、 今後のリリースを参照してください。
詳しくは、開発者向けドキュメントの 製品の互換性についてを参照してください。
サポートされるサービスのアップデート
これらのリリースノートでは、Audience Activationで使用される拡張機能に関連する機能の変更と修正点について説明します。
2023 年 8 月 15 日
2023 年 6 月 27 日
magento/module-data-services-graphql
パッケージに PHP 8.2 のサポートが追加されました。
2023 年 5 月 30 日
2.3.0
[ 互換性 ]{class="badge informative" title="互換性"}
2024 年 7 月 29 日
2.2.0
[ 互換性 ]{class="badge informative" title="互換性"}
2024 年 6 月 12 日
2.1.1
[ 互換性 ]{class="badge informative" title="互換性"}
2024 年 4 月 4 日
2.2.0-beta1
[ 互換性 ]{class="badge informative" title="互換性"}
2024 年 2 月 16 日
composer.json
ファイルのルートレベルに次のものが含まれていることを確認してください: "minimum-stability": "beta"
。
2.1.0
[ 互換性 ]{class="badge informative" title="互換性"}
2024 年 1 月 24 日
2.0.1
[ 互換性 ]{class="badge informative" title="互換性"}
2023 年 11 月 16 日
2.0.0
[ 互換性 ]{class="badge informative" title="互換性"}
2023 年 10 月 10 日
1.2.0
[ 互換性 ]{class="badge informative" title="互換性"}
2023 年 8 月 15 日
1.1.0
2023 年 5 月 30 日
[ 互換性 ]{class="badge informative" title="互換性"}
1.0.1
2023 年 5 月 11 日
[ 互換性 ]{class="badge informative" title="互換性"}
1.0.0
2023 年 3 月 31 日
[ 互換性 ]{class="badge informative" title="互換性"}
実装
次のタスクは、Luma とヘッドレスストアフロントの両方の実装に適用されます。 Adobe Commerceでオーディエンスをアクティブ化するには、次の操作を行う必要があります。
拡張機能のインストール
Marketplace から Audience Activation 拡張機能をインストールするか、次のコマンドを実行します。
composer require magento/audiences
拡張機能の設定
Audience Activation 拡張機能をインストールした後、Commerce管理者にログインして、次の手順を実行する必要があります。
-
管理者 サイドバーで、System/Services/Commerce Services Connector に移動します。
-
Adobeアカウントに ログインし、組織 ID を選択します。
-
管理者 サイドバーで、System/Services/Data Connection に移動します。
-
「Datastream ID」フィールドに、Adobe CommerceをReal-Time CDPの宛先として アクティブ化したときに作成したデータストリームの ID を貼り付けます。
このデータストリームは、買い物客がオーディエンスに属しているかどうかを判断するために、Commerce web サイトからReal-Time CDPにデータを送信します。 まだデータストリームを作成していない場合は、Experience Platformで create 1 つ、Real-Time CDPのCommerceの宛先および管理者の Data Connection 拡張機能に add します。
note note NOTE データストリーム ID を指定するときは、Data Connection 拡張機能で 特定の web サイトに関連付けることができます。 Commerce ストアに複数の web サイトがある場合は、Real-Time CDPの web サイトごとに 宛先を作成し、それぞれに異なるデータストリーム ID を使用します。 -
管理者 サイドバーで、Stores/Settings/Configuration に移動します。
-
「Services」を展開し、「Data Connection」を選択します。
-
追加サービスアカウントと資格情報の詳細。
CommerceでReal-Time CDP オーディエンスを使用する場所
Audience Activation 拡張機能を有効にすると、次のことができます。
- オーディエンスに基づく 買い物かご価格ルールの作成
- オーディエンスに基づく 動的ブロックの作成
- オーディエンスに基づく 関連製品ルール作成
Real-Time CDP オーディエンスダッシュボード
2}Real-Time CDP オーディエンスダッシュボードを使用すると、Adobe Commerce インスタンス内でパーソナライズするために使用できるすべての アクティブな } オーディエンスを表示できます。
Real-Time CDP オーディエンス ダッシュボードにアクセスするには、管理者 サイドバーで Customers/Real-time CDP Audience に移動します。
ダッシュボードには、次のフィールドが含まれています。
Hide filters
Last updated
のみです。 このフィルターを使用すると、オーディエンスの最終更新日に基づいてオーディエンスの日付範囲を選択できます。Search
Name
Origin
Experience Platform
など)。Websites
Dynamic Blocks
Cart Price Rules
Related Product Rules
Last updated
Sync now
Customize table
Origin
、Websites
、Dynamic Blocks
、Cart Price Rules
、Last updated
の列の表示/非表示を切り替えることができます。ヘッドレスサポート
AEMやPWAなどのヘッドレス Adobe Commerce インスタンスでオーディエンスをアクティブ化して、買い物かごの価格ルール、関連する製品ルール、またはオーディエンスに基づく動的ブロックを表示できます。
買い物かご価格ルールおよび関連する製品ルール
買い物かごの価格ルールおよび関連する商品ルールの場合、ヘッドレスストアフロントは、Commerce integration framework(CIF)を通じてExperience Platformと通信します。 このフレームワークは、GraphQLを使用して実装されるサーバーサイド API を提供します。 買い物客のセグメントなどのオーディエンス情報は、aep-segments-membership
という名前のGraphQL ヘッダーパラメーターを介してCommerceに渡されます。
全体的なアーキテクチャは次のとおりです。
拡張機能を インストールおよび 設定した後、Experience Platform Web SDK には、セグメントメンバーシップの形式でオーディエンス情報が含まれます。
SDK からこれらのセグメントメンバーシップをキャプチャするには、この コードスニペットを参照してください。
取得後、これらのセグメントをGraphQLのヘッダー内でCommerceに渡すことができます。 例:
curl 'http://magento.config/graphql' -H 'Authorization: Bearer abc123' -H 'aep-segments-membership: urlencoded_list_of_segments' -H 'Content-Type: application/json' --data-binary '{"query":"query {\ncustomer {\nfirstname\nlastname\nemail\n}\n}"}'
ダイナミック ブロック
ダイナミックブロックの場合、GraphQL dynamicBlocks
クエリには audience_id
input 属性を含めることができます。 dynamicBlocks
クエリで 1 つ以上の audience_id
値を指定すると、それらのオーディエンスに割り当てられた動的ブロックのリストが返されます。
使用例
次のクエリは、複数のオーディエンス ID に関連付けられたすべてのダイナミックブロックを返します。
リクエスト:
{
dynamicBlocks(input:
{
type: SPECIFIED
audience_id: {
in: [
"cd29a789-9be8-40ad-a1ef-640c33b3742e"
"92c3e14d-c72b-40d0-96b7-b96801dcc135"
]
}
})
{
items {
uid
audience_id
content {
html
}
}
page_info {
current_page
page_size
total_pages
}
total_count
}
}
応答:
{
"data": {
"dynamicBlocks": {
"items": [
{
"uid": "MQ==",
"audience_id": [
"cd29a789-9be8-40ad-a1ef-640c33b3742e"
],
"content": {
"html": "<h2><strong>SAVE 20%</strong></h2>\r\n<p>(some restrictions apply)</p>\r\n<p> </p>"
}
},
{
"uid": "Mg==",
"audience_id": [
"cd29a789-9be8-40ad-a1ef-640c33b3742e",
"92c3e14d-c72b-40d0-96b7-b96801dcc135"
],
"content": {
"html": "<p><img src=\"{{media url="wysiwyg/save20.png"}}\" alt=\"save 20% red\"></p>"
}
}
],
"page_info": {
"current_page": 1,
"page_size": 20,
"total_pages": 1
},
"total_count": 2
}
}
}
dynamicBlocks
GraphQL クエリについて詳しくは、developer ドキュメントを参照してください。
Adobe Experience Platform Mobile SDK を使用したオーディエンスの取得
Adobe Experience Platform Mobile SDK を使用して、Real-Time CDP オーディエンスを取得できます。
- インストールAudience Activation拡張機能。
- モバイル Commerce サイトに SDK をインストールして設定します。
設定が完了したら、Mobile SDK 操作を使用してオーディエンスデータを取得します。 例:
Edge.sendEvent(experienceEvent: experienceEvent) { (handles: [EdgeEventHandle]) in
for handle in handles {
if handle.type == "activation:pull" {
let payloadItems = handle.payload ?? []
for payloadItem in payloadItems {
if let segments = payloadItem["segments"] as? any Sequence {
var segmentsArr = [Any]()
for segment in segments {
let response = segment as AnyObject?
segmentsArr.append(response?.object(forKey: "id")! ?? "")
}
print("Saving segments -> \(segments)")
storage.set(segmentsArr, forKey: "segments")
print("End saving segments")
}
// Show segments
let rSegments = storage.object(forKey: "segments") ?? nil;
print("Retrieving segments -> \(rSegments)")
}
}
}
}
データが取得されたら、それを使用して、オーディエンスに基づいた 買い物かご価格ルール、 動的ブロックおよび 関連の商品ルールをCommerce アプリ内に作成できます。
オーディエンスがCommerceに表示されない
Real-Time CDP オーディエンスがCommerceに表示されない場合は、次の原因が考えられます。
- 無効な接続
- データ接続 設定ページで選択された認証タイプが正しくありません
- 生成されたトークンに対する権限が不十分です
次の節では、これらの問題のトラブルシューティング方法について説明します。
接続の検証
資格情報とAdobe Experience Platformからの応答を検証するには、次のコマンドを実行します。
bin/magento audiences:config:status
このコマンドは、接続ステータスを返します。 -v
フラグを追加して、より冗長にします。
./bin/magento audiences:config:status -v
例:
+----------------------------------+---------------+---------------------------------------------+---------------------------------------------------------+--------------+
| Client ID | Client secret | Technical account ID | Technical account email | Sandbox name |
+----------------------------------+---------------+---------------------------------------------+---------------------------------------------------------+--------------+
| 1234bd57fac8497d8933327c535347d8 | ***** | 12341E116638D6B00A495C80@techacct.adobe.com | 12345-b95b-4894-a41c-a4130d26bd80@techacct.adobe.com | dev |
設定で選択された認証タイプが正しくありません
- Commerce インスタンスを開きます。
- 管理者 サイドバーで、Stores/Settings/Configuration に移動します。
- 「Services」を展開し、「Data Connection」を選択します。
- Authentication Type フィールドに指定したサーバー間の認証方法が正しいことを確認してください。 Adobeでは OAuth を使用することをお勧めします。 JWT は非推奨(廃止予定)になりました。 詳細情報。
生成されたトークンに対する権限が不十分です
この問題は、生成されたトークンに対する API 権限が不十分なために発生する可能性があります。 トークンに正しい権限があることを確認するには、次の手順に従います。
- 組織内のAdobe Experience Platformのシステム管理者を特定します。
- 使用するプロジェクトと資格情報を見つけます。
- テクニカルアカウントのメールを識別します(例:
fe3c9476-1234-1234-abcd-2a51a785009a@techacct.adobe.com
)。 - システム管理者にAdobe Experience Platformを起動してもらい、Permissions/Users/API credentials に移動します。
- 上記のテクニカルアカウントのメールを使用して、変更する資格情報を検索します。
- 資格情報を開き、Roles / Add roles を選択します。
- 権限を含む役割 Manage destinations 追加します。
- 「Save」をクリックします。
- コンソールのアクセストークンを 再生成します。
- ターゲット接続 API を使用して、トークンが有効な応答を提供することを確認します。