Skip to main content

Recommendation

Log a recommendation event

To capture the diversity of use cases our customer base, we allow several different types of recommendation events to be communicated.

EventMeaning
recommendation_result_viewrecommendation results became visible to user
recommendation_result_clickuser clicked one of the recommended items

To log an event make a POST request to:

POST https://ac.cnstrc.com/v2/behavioral_action/<event_type>

where event_type is one of recommendation_result_view, recommendation_result_click. Requests have to also include query string parameters and body of the request has to have JSON object with the necessary fields, depending on event type (documented below).

Example

Log an event
curl -X POST -H 'Content-Type: application/json' \
-u '[your token]:' \
"https://ac.cnstrc.com/v2/behavioral_action/recommendation_result_view? \
section=<section used> \
&key=<your API key> \
&c=<client id> \
&i=<user id> \
&s=<session number>" \
-d '{
"url": "https://example.com/catalog",
"pod_id": "1",
"num_results_viewed": 5
}'
info

The above command returns a 204 Success response on success.

Query String Parameters

ParameterTypeRequired?Description
keystringYesThe key of the index you'd like to log events for.
cstringYesClient id. The library responsible for making the request
istringYesUser's device id. An anonymized user identification hash.
sintegerYesSession number. The counter for the session in which the behavior event occurred. We recommend to increment the session number every 30 minutes
uistringNoYour internal ID for a user (if available)
_dtintegerNoUnix timestamp in seconds of when the event happened
usarray of stringsNoUser segment
sectionstringNoYour autosuggest and search results can have multiple sections like "Products" and "Search Suggestions". This indicates which section was searched. See your dashboard for the section names to use.
origin_referrerstringNoThe url where the event originated.

JSON Parameters

Recommendation result view

ParameterTypeRequired?Description
urlstringYesURL of the page where recommendation was displayed
result_countintegerNoTotal number of search results
result_pageintegerNoCurrent page of search results
result_idstringNoresult_id returned by Krestor search response
itemsarray of objectsNoItems that were loaded. Up to 100 items, each object has to include either item_id or item_name keys, and optionally can include variation_id. All values are strings.
pod_idstringYesThe recommendation pod ID
num_results_viewedintegerYesThe number of results that the user viewed

Recommendation result click

ParameterTypeRequired?Description
pod_idstringYesThe recommendation pod ID
strategy_idstringNoID of the recommendation strategy
item_idstringNoID of the item that was clicked (either it or item_name is required)
item_namestringNoName of the item that was clicked (either it or item_id is required)
variation_idstringNoID of the variation that was shown to the user when the result was clicked
result_countintegerNoTotal number of results
result_pageintegerNoCurrent page of results
result_idstringNoresult_id returned by Krestor recommendation response
result_position_on_pageintegerNoPosition of the result that was clicked relative to the current page
num_results_per_pageintegerNoNumber of results on the current page