The products variable cannot be set using processing rules. In the mobile SDK, you must use a special syntax within the context data parameter to set products directly on the server call.
To set the products
variable, set a context data key to "&&products"
, and set the value using the syntax defined for the products
:
cdata["&&products"] = "Category;Product;Quantity;Price[,Category;Product;Quantity;Price]";
For example:
//create a context data dictionary
var cdata = new Windows.Foundation.Collections.PropertySet();
// add products, a purchase id, a purchase context data key, and any other data you want to collect.
// Note the special syntax for products
cdata["&&products"] = ";Running Shoes;1;69.95,;Running Socks;10;29.99";
cdata["m.purchaseid"] = "1234567890";
cdata["m.purchase"] = "1";
var ADB = ADBMobile;
// send the tracking call - use either a trackAction or TrackState call.
// trackAction example:
ADB.Analytics.trackAction("purchase", cdata);
// trackState example:
ADB.Analytics.trackState("Order Confirmation", cdata);
products
is set directly on the image request, and the other variables are set as context data. All context data variables must be mapped using processing rules:
You do not need to map the products
variable using processing rules since it is set directly on the image request by the SDK.