分析データからのマーチャンダイジング変数の返しと使用
Query Serviceを使用して、Adobe AnalyticsからAdobe Experience Platformにデータセットとして取り込まれたデータを管理します。 以下の節では、Analytics データセットのマーチャンダイジング変数にアクセスするために使用できるサンプルクエリを示します。 Analytics ソースを使用してAdobe Analytics データを取り込み、マッピングする方法について詳しくは、ドキュメントを参照してください
マーチャンダイジング変数 merchandising-variables
マーチャンダイジング変数は、次の2つの構文のいずれかに従います。
- Product Syntax: eVar値を商品に関連付けます。
- コンバージョン変数構文:バインディングイベントが発生した場合にのみ、eVarを商品に関連付けます。 バインディングイベントとして機能するイベントを選択できます。
製品の構文 product-syntax
Adobe Analyticsでは、マーチャンダイジング変数と呼ばれる特別に設定された変数を通じて、カスタムの商品レベルのデータを収集できます。 EVarまたはカスタムイベントにもとづいています。 これらの変数と一般的な用途の違いは、ヒットに対する1つの値ではなく、ヒットに見られる各製品に対する個別の値を表すことです。
これらの変数は、製品構文マーチャンダイジング変数と呼ばれます。 これにより、製品ごとの「割引額」や、顧客の検索結果における製品の「ページ上の場所」に関する情報などの情報を収集できます。
製品構文の使用について詳しくは、製品構文を使用したeVarの実装に関するAdobe Analyticsのドキュメントを参照してください。
以下のセクションでは、Analytics データセット内のマーチャンダイジング変数にアクセスするために必要なXDM フィールドの概要を説明します。
eVar
productListItems[#]._experience.analytics.customDimensions.evars.evar#
#: アクセスする配列のインデックス。evar#: アクセスしている特定のeVar変数。
カスタムイベント
productListItems[#]._experience.analytics.event1to100.event#.value
#: アクセスする配列のインデックス。event#: アクセスしている特定のカスタムイベント変数。
製品構文の使用例 product-use-cases
次のユースケースでは、SQLを使用してproductListItems配列からマーチャンダイジング eVarを返すことに焦点を当てています。
マーチャンダイジングを返すeVarとイベント
以下のクエリは、productListItems配列で見つかった最初の商品のマーチャンダイジング eVarとイベントを返します。
SELECT
productListItems[0]._experience.analytics.customDimensions.evars.eVar1,
productListItems[0]._experience.analytics.event1to100.event1.value
FROM adobe_analytics_midvalues
WHERE timestamp = to_timestamp('2019-07-23')
AND productListItems[0].SKU IS NOT NULL
AND productListItems[0]._experience.analytics.customDimensions.evars.eVar1 IS NOT NULL
AND productListItems[0]._experience.analytics.event1to100.event1.value IS NOT NULL
LIMIT 10
productListItems配列を展開し、各商品のマーチャンダイジング eVarとイベントを返します。
次のクエリはproductListItems配列を展開し、商品ごとに各マーチャンダイジング eVarとイベントを返します。 元のヒットとの関係を示すために、_id フィールドが含まれます。 _id値は、データセットの一意のプライマリキーです。
SELECT
_id,
productItem._experience.analytics.customDimensions.evars.eVar1,
productItem._experience.analytics.event1to100.event1.value
FROM (
SELECT
_id,
explode(productListItems) as productItem
FROM adobe_analytics_midvalues
WHERE TIMESTAMP = to_timestamp('2019-07-23')
AND productListItems[0].SKU IS NOT NULL
AND productListItems[0]._experience.analytics.customDimensions.evars.eVar1 IS NOT NULL
AND productListItems[0]._experience.analytics.event1to100.event1.value IS NOT NULL
)
LIMIT 20
| code language-console |
|---|
|
コンバージョン変数の構文 conversion-variable-syntax
Adobe Analyticsに含まれているもうひとつの種類のマーチャンダイジング変数は、コンバージョン変数の構文です。 コンバージョン変数構文は、eVarの値をproducts変数で設定できない場合に使用されます。 通常、このシナリオは、ページにマーチャンダイジングチャネルや検索方法に関するコンテキストがないことを意味します。 このような場合、ユーザーが製品ページにアクセスする前にマーチャンダイジング変数を設定する必要があり、値はバインディングイベントが発生するまで保持されます。
例えば、以下の製品検索シナリオでは、製品に関連するコンバージョンまたはイベントが発生する前に、必要なデータをページに表示する方法を示します。
- ユーザーは、「winter hat」の内部検索を実行し、コンバージョン構文が有効になっているマーチャンダイジング eVar6を「internal search:winter hat」に設定します。
- ユーザーが「ワッフルビーニー」をクリックし、製品の詳細ページに移動します。
a. ここに着陸すると、「ワッフルビーニー」のProduct Viewイベントが$12.99で開始されます。
b.Product Viewはバインディングイベントとして設定されているため、商品「waffle beanie」はeVar6の値「internal search:winter hat」にバインドされるようになりました。 「waffle beanie」商品が収集されるたびに、「内部検索:winter hat」に関連付けられます。 これは、eVarの有効期限の設定に達するか、新しいeVar6値が設定され、バインディングイベントがその製品で再び発生するまで行われます。 - ユーザーが製品を買い物かごに追加し、
Cart Addイベントが発生します。 - ユーザーは、「夏のシャツ」の別の内部検索を実行し、コンバージョン構文が有効になっているマーチャンダイジング eVar6を「内部検索:summer シャツ」に設定します。
- ユーザーは「スポーティなT シャツ」を選択し、商品詳細ページにアクセスします。
a. ここに着陸すると、「スポーティなT シャツを19.99 ドルで販売するProduct Viewイベントが発生します。
b.Product Viewイベントはバインディングイベントであるため、商品「スポーティ T シャツ」は、「内部検索:summer シャツ」のeVar6値にバインドされるようになりました。 以前の商品「waffle beanie」は、まだ「internal search:waffle beanie」のeVar6値にバインドされています。 - ユーザーが製品を買い物かごに追加し、
Cart Addイベントが発生します。 - ユーザーは両方の製品をチェックアウトします。
レポートでは、注文、売上、商品ビューおよびカート追加数がeVar6に対してレポートされ、バインドされた商品のアクティビティに一致します。
コンバージョン変数構文の使用について詳しくは、 コンバージョン変数構文を使用したeVarの実装に関するAdobe Analyticsのドキュメントを参照してください。
以下に、Analytics データセットで変換変数構文を生成するXDM フィールドを示します。
eVar
_experience.analytics.customDimensions.evars.evar#
evar#: アクセスしている特定のeVar変数。
製品
productListItems[#].sku
#: アクセスする配列のインデックス。
コンバージョン変数の使用例 conversion-variable-use-cases
以下のユースケースは、変換変数の構文を必要とするシナリオを反映しています。
特定の製品とイベントのペアに値をバインドする
以下のクエリは、値を特定の製品とイベントのペアにバインドします。 この例では、値は製品ビューイベントにバインドされています。
SELECT
endUserIds._experience.aaid.id AS AAID,
timestamp,
CASE WHEN commerce.productViews.value = 1 THEN ATTRIBUTION_LAST_TOUCH(timestamp, 'bindConversionSyntaxMerchVariable_eVar1', _experience.analytics.customDimensions.eVars.eVar1)
OVER(PARTITION BY endUserIds._experience.aaid.id
ORDER BY timestamp
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW).value
END AS eVar1Bind,
EXPLODE(productListItems) AS Product_List,
commerce.productViews.value AS prodView,
commerce.purchases.value AS purchase
FROM adobe_analytics_midvalues
WHERE commerce.productViews.value = 1 OR commerce.purchases.value = 1 OR _experience.analytics.customDimensions.eVars.eVar1 IS NOT NULL
LIMIT 100
バインドされた値を、それぞれの製品の後続の出現に保持します
以下のサンプルクエリでは、バインドされた値がそれぞれの製品の後続の出現に保持されます。 最も低いサブクエリは、宣言されたバインディングイベント上の製品との値の関係を確立します。 次のサブクエリは、それぞれの製品との後続のインタラクションにわたって、その連結値のアトリビューションを実行します。 最上位のSELECTは、結果を集計してレポートを生成します。
SELECT
Product_List.SKU,
eVar1101ConversionSyntax,
SUM(prodView) AS Product_Views,
SUM(purchase) AS Purchases
FROM
(
SELECT
Product_List,
ATTRIBUTION_LAST_TOUCH(timestamp, 'ConversionSyntax_eVar1', eVar1Bind)
OVER(PARTITION BY AAID, Product_List.SKU
ORDER BY timestamp
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW).value
AS eVar1ConversionSyntax,
prodView,
purchase
FROM
(
SELECT
endUserIds._experience.aaid.id AS AAID,
timestamp,
CASE WHEN commerce.productViews.value = 1 THEN ATTRIBUTION_LAST_TOUCH(timestamp, 'bindConversionSyntaxMerchVariable_eVar1', _experience.analytics.customDimensions.eVars.eVar1)
OVER(PARTITION BY endUserIds._experience.aaid.id
ORDER BY timestamp
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW).value
END AS eVar1Bind,
EXPLODE(productListItems) AS Product_List,
commerce.productViews.value AS prodView,
commerce.purchases.value AS purchase
FROM adobe_analytics_midvalues
WHERE commerce.productViews.value = 1 OR commerce.purchases.value = 1 OR _experience.analytics.customDimensions.eVars.eVar1 IS NOT NULL
)
)
WHERE eVar1ConversionSyntax IS NOT NULL
GROUP BY 1, 2
ORDER BY 3 DESC
LIMIT 100
次の手順
このドキュメントでは、商品構文を使用してマーチャンダイジング eVarを返し、コンバージョン変数構文を使用して特定の商品に値をバインドする方法について理解する必要があります。
まだ行っていない場合は、次のAnalytics webおよびモバイルインタラクションに関するインサイトのドキュメント をお読みください。 一般的なユースケースを提供し、Query Serviceを使用して、webとモバイルのAdobe Analyticsデータから実用的なインサイトを作成する方法を紹介します。