HTML Integration: Purchase Complete 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 Purchase Complete Page (JSON).
The purchase complete page is the page displayed to customers immediately after they successfully purchased their items.
This is a required page type. Even if no placements appear on this page, the integration logic must be present.
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 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_PURCHASED.setOrderNumber('ORDER_ID'); |
Replace ORDER_ID with the order ID, a unique identifier for the order. |
R3_PURCHASED.addItemIdPriceQuantity('ITEM_ID', 'PRICE', 'QTY', 'SKU'); |
Use this function once for every item purchased. Replace ITEM_ID with the item ID, a unique identifier for the item.Replace PRICE with the price of a single item in decimal format, ex. 19.99. Replace QTY with the quantity for this product.Replace SKU with the specific SKU the user has purchased. If there is no SKU ID, this can be left empty. |
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 no user ID is available, please leave this blank // here's an example requesting recommendations for 3 page areas R3_COMMON.addPlacementType('purchase_complete_page.rr1'); R3_COMMON.addPlacementType('purchase_complete_page.rr2'); R3_COMMON.addPlacementType('purchase_complete_page.rr3'); var R3_PURCHASED = new r3_purchased(); R3_PURCHASED.setOrderNumber('XYZ123456'); // example purchased product: // product ID = 21666189, price = $499.99, // quantity = 1, SKU = 9876A R3_PURCHASED.addItemIdPriceQuantity('21666189', '499.99', '1', '9876A'); // iterate over this line for each item purchased r3(); </ script > |
Placement-marker Code Blocks
< script charset = "utf-8" type = "text/javascript" > r3_placement('item_page.rr1'); </ script > <!-- Page contents --> < script charset = "utf-8" type = "text/javascript" > r3_placement('item_page.rr2'); </ script > <!-- Page contents --> < script charset = "utf-8" type = "text/javascript" > r3_placement('item_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. - This page is often secure (served via HTTPS). If not using window.location.protocol, provide “https” in
R3_COMMON.setBaseUrl()
:R3_COMMON.setBaseUrl('https://recs.richrelevance.com/rrserver/');
- The PRICE passed in
R3_PURCHASED.addItemIdPriceQuantity()
is the single unit price. Algonomy multiplies this by the quantity to determine line item order value.