products
変数は、それらに関連付けられた製品とプロパティを追跡します。この変数は、通常、個々の製品ページ、買い物かごページ、および購入確認ページに設定されます。これは複数値の変数で、同じヒットで複数の製品を送信し、アドビがその値を別々のディメンション項目に解析します。
製品は Adobe Analyticsにマッピング済み 複数の XDM フィールドの下:
productListItems[].productCategories[].categoryID
. 次の項目の最初の項目を使用します: productCategories[]
配列。 lineItemId
また、は正しくマッピングされますが、 categoryID
これは標準の XDM なので。 両方の XDM フィールドが存在する場合 lineItemId
が優先します。productListItems[].SKU
または productListItems[].name
. 両方の XDM フィールドが存在する場合、 productListItems[].SKU
が使用されます。productListItems[].quantity
.productListItems[].priceTotal
.productListItems._experience.analytics.customDimensions.eVars.eVar1
から productListItems._experience.analytics.customDimensions.eVars.eVar250
に含まれ、製品にバインドするeVarに応じて異なります。productListItems[]._experience.analytics.event1to100.event1.value
から productListItems._experience.analytics.event901to1000.event1000.value
に含まれ、製品にバインドするイベントに応じて異なります。 これらのフィールドのいずれかにイベントを設定すると、そのイベントは自動的に イベント 文字列がAdobe Analyticsに送信されました。lineItemId
は、まだ標準の Analytics イベントスキーマの一部ではないので、カスタムフィールドとして追加する必要があります。 Adobeは、将来、専用の「カテゴリ」フィールドを追加する予定です。
Adobe Experience Platformデータ収集にこの変数を設定するための専用フィールドはありませんが、役立つように複数のサードパーティ拡張機能が存在します。
これらの拡張機能の 1 つを使用することも、以下の AppMeasurement 構文に従ってカスタムコードエディターを使用することもできます。
s.products
変数は、製品ごとに複数の区切りフィールドを含む文字列です。文字列内の各フィールドをセミコロン(;
)で区切ります。
currencyCode
変数に合わせて整列します。このフィールドに通貨記号を含めないでください。このフィールドは、購入イベントを含むヒットにのみ適用されます。|
)で区切ります。詳しくは、 イベント を参照してください。|
)で区切ります。詳しくは、 マーチャンダイジング eVar を参照してください。// Set a single product using all available fields
s.products = "Example category;Example product;1;3.50;event1=4.99|event2=5.99;eVar1=Example merchandising value 1|eVar2=Example merchandising value 2";
この変数は、同じヒットで複数の製品をサポートします。買い物かごや複数の製品を含む購入に役立ちます。全体の最大長 products
文字列は 64k バイトです。 各製品は文字列内でコンマ(,
)で区切ります。
// Set multiple products - useful for when a visitor views their shopping cart
s.products = "Example category 1;Example product 1;1;3.50,Example category 2;Example product 2;1;5.99";
製品名、カテゴリ、マーチャンダイジング eVar の値から、セミコロン、コンマ、およびパイプをすべて取り除きます。製品名にコンマが含まれる場合、AppMeasurement は、それを新しい製品の開始として解析します。この誤った解析は、製品文字列の残りの部分をスローし、ディメンションやレポートに誤ったデータが含まれる原因となります。
products
変数は、フィールドを省略し、複数の製品を含める場合に柔軟に使用できます。この柔軟性により、区切り文字を見逃しやすくなり、実装によって誤ったデータがアドビに送信される原因となります。
// Include only product and category. Common on individual product pages
s.products = "Example category;Example product";
// Include only product name
s.products = ";Example product";
// One product has a category, the other does not. Note the comma and adjacent semicolon to omit category
s.products = "Example category;Example product 1,;Example product 2";
// A visitor purchases a single product; record quantity and price
s.events = "purchase";
s.products = ";Example product;1;6.99";
// A visitor purchases multiple products with different quantities
s.events = "purchase";
s.products = ";Example product 1;9;26.91,Example category;Example product 2;4;9.96";
// Attribute currency event1 only to product 2 and not product 1
s.events = "event1";
s.products = ";Example product 1;1;1.99,Example category 2;Example product 2;1;2.69;event1=1.29";
// Use multiple numeric events in the product string
s.events = "event1,event2";
s.products = ";Example product;1;4.20;event1=2.3|event2=5";
// Use merchandising eVars without any events. Note the adjacent semicolons to skip events
s.products = ";Example product;1;6.69;;eVar1=Merchandising value";
// Use merchandising eVars without category, quantity, price, or events
s.products = ";Example product;;;;eVar1=Merchandising value";
// Multiple products using multiple different events and multiple different merchandising eVars
s.events = "event1,event2,event3,event4,purchase";
s.products = "Example category 1;Example product 1;3;12.60;event1=1.4|event2=9;eVar1=Merchandising value|eVar2=Another merchandising value,Example category 2;Example product 2;1;59.99;event3=6.99|event4=1;eVar3=Merchandising value 3|eVar4=Example value four";
digitalData
データレイヤーを使用する場合は、digitalData.product
オブジェクト配列を繰り返し処理できます。
for(var i = 0; i < digitalData.product.length; i++) {
// Add individual product info to the product string
s.products += digitalData.product[i].category.primaryCategory + ";" + digitalData.product[i].productInfo.productName;
// If there are more products, add a comma
if(i != digitalData.product.length - 1) {
s.products += ",";
}
}