Products Variable

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 variable:

[contextData setObject:@"Category;Product;Quantity;Price[,Category;Product;Quantity;Price]" forKey:@"&&products"];

For example:

//create a context data dictionary
NSMutableDictionary *contextData = [NSMutableDictionary dictionary];

// add products, a purchase id, a purchase context data key, and any other data you want to collect.
// Note the special syntax for products
[contextData setObject:@";Running Shoes;1;69.95,;Running Socks;10;29.99" forKey:@"&&products"];
[contextData setObject:@"1234567890" forKey:@"m.purchaseid"];
[contextData setObject:@"1" forKey:@"m.purchase"];

// send the tracking call - use either a trackAction or TrackState call.
// trackAction example:
[ADBMobile trackAction:@"purchase" data:contextData];
// trackState example:
[ADBMobile trackState:@"Order Confirmation" data:contextData];

Note that 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.

Parent topic: Analytics