Toys Inc. has a search page with live product filtering on a set of predefined categories. For example:
- Brand
- Gender
- Age
- Price
- Range
Since there are no page reloads between each search result we need to use event or asynchronous tracking. This is done in the following way:
$netminers.push(['postPageView', 'Frontpage/Products/Search By Category']);
If a visitor selects the following filters...
- Brand=LEGO Friends
- Brand=LEGO Friends
- Gender=Female
- Age=Price Range=3 (Could be 3 of 5 in a scale from cheap to expensive)
We would then construct the following JSON:
// No need to send long identifiers like 'Price Range' every time. 'Price Range' every time.
// We use abbreviations for each JSON variable name we send.
// Variable names MUST be individually unique across all JSON objects We send.
{
'bra': 'LEGO Friends',
'gen': 'Female',
'age': '8-10',
'pri': '3'
}
To send the new search (asynchronous pageview) with the filter JSON object, we'll do the following:
$netminers.push([
'postPageView',
'Frontpage/Products/Search By Category',
{
'bra': 'LEGO Friends',
'gen': 'Female',
'age': '8-10',
'pri': '3'
}
]);
If a visitor selects more than one brand - e.g. both "LEGO Friends" and "Barbie" - then you need to send two pageviews, each with a specific JSON configuration. For example:
// Send the first pageview, with LEGO as the brand
$netminers.push([
'postPageView',
'Frontpage/Products/Search By Category',
{
'bra': 'LEGO Friends',
'gen': 'Female',
'age': '8-10',
'pri': '3'
}
]);
// Send the second pageview, with Barbie as the brand
$netminers.push([
'postPageView',
'Frontpage/Products/Search By Category',
{
'bra': 'Barbie',
'gen': 'Female',
'age': '8-10',
'pri': '3'
}
]);