このヘルプページでは、マーチャンダイジング eVar の実装方法について説明します。 マーチャンダイジング eVarsがディメンションとして機能する方法について詳しくは、『コンポーネントユーザーガイド』のeVar(マーチャンダイジングディメンション) を参照してください。
マーチャンダイジング eVarは個々の製品に値をバインドするため、各製品に関する成功イベントは、その製品にバインドされた値にクレジットされます。 値は、次のいずれかの方法で設定できます。
- 製品構文:
products変数の各製品の値を設定します。 - コンバージョン変数構文: eVar自体で値を設定します。 値は、バインディングイベントを含むヒットの製品にバインドされます。
バインディング、割り当て、有効期限の仕組みについては、eVar(マーチャンダイジングディメンション) を参照してください。
レポートスイート設定での eVar の設定
実装で eVar を使用する前に、必ず、レポートスイートの設定で eVar を目的の構文に設定してください。 詳しくは、『管理者ガイド』のコンバージョン変数を参照してください。
構文の選択
products変数の設定時にマーチャンダイジング値が使用可能な場合、または同じヒット内の製品で異なる値が必要な場合は、製品構文を使用します。 訪問者を製品に導いた検索語や内部キャンペーンなど、製品の前に値が既知の場合は、 コンバージョン変数構文を使用します。 完全な比較については、 バインディングと割り当ての仕組みを参照してください。
製品の構文を使用して実装する
製品構文が有効になっている場合、マーチャンダイジング値はproducts変数内で直接設定されるので、バインディングイベントは使用されません。 マーチャンダイジング eVarは、各製品の最後のセグメントに配置されます。
s.products = "[category];[name];[quantity];[revenue];[events];[eVars]";
同じ製品の複数のマーチャンダイジング eVarをパイプ (|)で区切ります。 数量、収益、イベントの空のプレースホルダーは、使用しない場合でも必要です。 このオプションを指定しない場合、eVar値は無視されます。
そのヒットの商品に値がバインドされます。 後の値が既存のバインディングを置き換えるかどうかは、配分設定によって異なります。 バインドと割り当ての仕組みを参照してください。
// The bare minimum to set a merchandising eVar with product syntax
s.products = ";Example product;;;;eVar1=Example merchandising value";
// An example single product with product syntax
s.products = "Example category;Example product;1;5.99;event1=1;eVar1=Turtles";
// Tie a merchandising eVar to different values on two different products
s.products = "Birds;Scarlet Macaw;1;4200;;eVar1=talking bird,Birds;Turtle dove;2;550;;eVar1=love birds";
Web SDK を使用した製品構文
XDM オブジェクトを使用する場合、製品構文マーチャンダイジング変数では次のXDM フィールドが使用されます。
- 製品構文マーチャンダイジング eVar は、
xdm.productListItems[]._experience.analytics.customDimensions.eVars.eVar1からxdm.productListItems[]._experience.analytics.customDimensions.eVars.eVar250までにマッピングされます。 - 製品構文マーチャンダイジングイベントは、
xdm.productListItems[]._experience.analytics.event1to100.event1.valueからxdm.productListItems[]._experience.analytics.event901to1000.event1000.valueまでにマッピングされます。 イベントのシリアル化 XDM フィールドは、xdm.productListItems[]._experience.analytics.event1to100.event1.idからxdm.productListItems[]._experience.analytics.event901to1000.event1000.idまでにマッピングされます。
productListItems でイベントを設定する場合は、イベントをイベント文字列で設定する必要はありません。 両方で設定されている場合は、イベント文字列の値が優先されます。次の例では、複数のマーチャンダイジング eVar およびイベントを使用した 1 つの製品を示します。
"productListItems": [
{
"name": "Bahama Shirt",
"priceTotal": "12.99",
"quantity": 3,
"_experience": {
"analytics": {
"customDimensions" : {
"eVars" : {
"eVar10" : "green",
"eVar33" : "large"
}
},
"event1to100" : {
"event4" : {
"value" : 1
},
"event10" : {
"value" : 2,
"id" : "abcd"
}
}
}
}
}
]
上記の例のオブジェクトは、Adobe Analytics に ";Bahama Shirt;3;12.99;event4|event10=2:abcd;eVar10=green|eVar33=large" として送信されることになります。
データオブジェクトを使用する場合、製品構文マーチャンダイジング eVarはdata.__adobe.analytics.productsに設定され、AppMeasurement products変数と同じ構文が使用されます。 上記のXDMの例に相当するデータオブジェクト:
"data": {
"__adobe": {
"analytics": {
"products": ";Bahama Shirt;3;12.99;event4|event10=2:abcd;eVar10=green|eVar33=large"
}
}
}
コンバージョン変数の構文を使用して実装する
EVar値をproducts変数に設定できない場合は、 コンバージョン変数構文を使用します。 通常、このシナリオでは、商品ページにはマーチャンダイジングチャネルや検索方法に関するコンテキストがありません。 このような場合は、結合イベントが発生するページの上または前にマーチャンダイジング eVarを設定します。 値は、有効期限が切れるまで保持されるか、新しい値で上書きされます。
ヒットにproducts変数と選択した マーチャンダイジングバインディングイベント の両方が含まれている場合、eVarの現在の値はそのヒットのすべての商品にバインドされます。 バインディングイベントを使用せずにeVarを製品と一緒に設定しても、値はバインドされません。 後のバインディングが既存のバインディングを置き換えるかどうかは、配分設定によって異なります。 バインドと割り当ての仕組みを参照してください。
複数の製品検索方法eVarを一度に設定する例については、 ベストプラクティス:製品検索方法を参照してください。
次の例では、バインディングイベントの前にマーチャンダイジング eVarを設定します。
// Place on the same or previous page before the binding event:
s.eVar1 = "Aviary";
// Place on the page where the binding event occurs:
s.events = "prodView";
s.products = ";Canary";
製品ビューイベント がバインディングイベントである場合、eVar1の値"Aviary"は製品"Canary"にバインドされます。 この製品に関連するその後の成功イベントは"Aviary"にクレジットされます。 値"Aviary"は、次のいずれかの条件が満たされるまで、バインディングイベントを含む後のヒットの製品にもバインドされます。
- EVarの有効期限(有効期限設定に基づく)。
- マーチャンダイジング eVar が新しい値で上書きされる。
Web SDK を使用したコンバージョン変数構文
XDM オブジェクトを使用する場合、構文は他のeVarsおよび イベント の実装と同様に動作します。 データオブジェクトを使用する場合、構文はAppMeasurementに従います。
上記のAppMeasurementの例をミラーリングするXDMは、次のようになります。
同じまたは前のイベントコールで eVar を設定します。
"_experience": {
"analytics": {
"customDimensions": {
"eVars": {
"eVar1" : "Aviary"
}
}
}
}
バインディングイベントと製品文字列の値を設定します。
"commerce": {
"productViews" : {
"value" : 1
}
},
"productListItems": [
{
"name": "Canary"
}
]
上記のAppMeasurementの例を反映したデータオブジェクトは、次のようになります。
同じまたは前のイベントコールで eVar を設定します。
"data": {
"__adobe": {
"analytics": {
"eVar1": "Aviary"
}
}
}
バインディングイベントと製品文字列の値を設定します。
"data": {
"__adobe": {
"analytics": {
"events": "prodView",
"products": ";Canary"
}
}
}