JSON Integration: Search Page
The search page displays the results of a keyword search performed by the customer.
How To Make This Code Work For You
Follow the sample integration code below, making these changes:
Function | Requirement |
---|---|
R3_COMMON.setApiKey('API Key'); |
Replace API Key with your site’s API key, a unique identifier for your account. |
R3_COMMON.setBaseUrl(window.location.protocol+'//RR Server URL.algorecs.com/rrserver/'); |
Set RR Server URL to one of the following values:For initial development: integration For production: recs |
R3_COMMON.setSessionId('User Session ID'); |
Replace User Session ID with the session ID for the current user and session. The session ID is a crucial variable that allows Algonomy to track shopper behavior when they visit your site so recommendations can be generated. This parameter should remain the same from start to finish for a user’s shopping session. |
R3_COMMON.setUserId('User ID'); |
Replace User ID with the user ID, a unique string to identify each user. All user behavior will be stored using this key. It is case-sensitive and should be the same user ID sent to Algonomy in other applications. User IDs are often connected to email addresses, and can be directly linked to the login credentials a consumer uses to log into and buy products from the e-commerce site. To avoid sending personally identifiable information to Algonomy, you can use a hash of your site’s user ID (if, for example, your site uses email addresses as user IDs, then you should not send that information directly to Algonomy).Note: If the user ID is unknown, leave it blank. |
R3_SEARCH.setTerms('Search Terms'); |
Replace Search Terms with the search term or terms used to execute the search. |
R3_SEARCH.addItemId('Item ID'); |
Replace Item ID with an item ID (product ID) for a product returned in the search results. CallR3 _SEARCH.addItemId() up to 15 times to pass the product IDs of the first 15 products in the search results. Found products on search allows for the system to fall back if we cannot fill a strategy from the search term. |
R3_COMMON.addPlacementType('search_page.Placement Name'); |
Replace Placement Name with the Placement ID. You can find your Placement IDs in the Dashboard under the Placements section. If you do not display personalization on this page, call R3_COMMON.addPlacementType('search_page'); instead. |
R3_COMMON.setClickthruServer(window.location.protocol+'//'+window.location.host) |
No changes are required. This code enables the client to send the domain for click-through URL through the p13n_generated.js call if relative URLs are supplied in the feed. For example, if the domain calling our code is m.retailer.com or UAT.retailer.com, we can automatically redirect to the correct domain. |
Sample Integration Code
Algonomy JavaScript Library
Callback Function
Primary Code Block
<!-- Place this code inside the <body> element as close to the top as possible --> <script charset="utf-8" type="text/javascript"> var R3_COMMON = new r3_common(); R3_COMMON.setApiKey('abcd5432e1'); R3_COMMON.setBaseUrl(window.location.protocol+'//integration.algorecs.com/rrserver/'); R3_COMMON.setClickthruServer(window.location.protocol+"//"+window.location.host); R3_COMMON.setSessionId('6B4D397B'); R3_COMMON.setUserId('10987'); // if no user ID is available, please leave this blank // Use this code if you are not requesting placement(s) for personalization R3_COMMON.addPlacementType('search_page'); // Replace placement_name with the placement name you set up in Dashboard. // Call multiple times to display more than one placement. R3_COMMON.addPlacementType('search_page.placement_name'); var R3_SEARCH = new r3_search(); R3_SEARCH.setTerms('blue shoes'); // for each item (LIMIT of 15) on the search page, iterate over the list with the following setter: R3_SEARCH.addItemId('ACW239845'); // if item has parent id, pass the parent id rr_flush_onload(); r3(); </script>
Notes
- Placements requested via
addPlacementType()
should always be displayed on the page.