HTML Integration: Search Page (Legacy)
NOTE This section refers to a legacy feature which is only available to existing customers. New and existing customers looking to add personalization should refer to Search Page (JSON).
The search page displays the results of a keyword search performed by the customer.
How To Make This Code Work For You
Function | Requirement |
---|---|
R3_COMMON.setApiKey('MY_API_KEY'); |
Replace MY_API_KEY with your site’s API key, a unique identifier for your account. |
R3_COMMON.setBaseUrl(RRSERVER_URL); |
Set RRSERVER_URL to one of these values.
For initial development:
For production:
|
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 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_COMMON.addItemId('ITEM_ID'); |
Replace ITEM_ID with an item ID (product ID) for a product returned in the search results. CallR3 _COMMON.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.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
Primary Code Block
<!-- Place this code inside the <body> element as close to the top as possible --> <script src="//media.richrelevance.com/rrserver/js/1.2/p13n.js"></script> <script charset="utf-8" type="text/javascript"> var R3_COMMON = new r3_common(); R3_COMMON.setApiKey('abcd5432e1'); R3_COMMON.setBaseUrl(window.location.protocol+'//integration.richrelevance.com/rrserver/'); R3_COMMON.setClickthruServer(window.location.protocol+"//"+window.location.host); R3_COMMON.setSessionId('6B4D397B'); R3_COMMON.setUserId('1'); // if exists, set it; if not, set it as session ID // here's an example requesting recommendations for 3 page areas R3_COMMON.addPlacementType('search_page.rr1'); R3_COMMON.addPlacementType('search_page.rr2'); R3_COMMON.addPlacementType('search_page.rr3'); 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_COMMON.addItemId('ACW239845'); // if no user ID is available, please leave this blank r3(); </script>
Placement-marker Code Blocks
<script charset="utf-8" type="text/javascript"> r3_placement('search_page.rr1'); </script> <!-- Page contents --> <script charset="utf-8" type="text/javascript"> r3_placement('search_page.rr2'); </script> <!-- Page contents --> <script charset="utf-8" type="text/javascript"> r3_placement('search_page.rr3'); </script>
Flush Code Block
<script charset="utf-8" type="text/javascript"> rr_flush_onload();</script>
Notes
- The values in
addPlacementType()
should match the values in eachr3_placement()
call.