Best practice example
As a general principle, the Addwish solution can only be as good as the supplied data allows. Therefore it is important, that you provide product information in a structured fashion that enables us to read and use it “as is”. In order to make this process as seamless and error-free as possible, you should use the following standard:
The product feed should contain ALL of the products that Addwish should be able to handle.
- Example: If your shop contains 2000 products, and if Addwish is to be able to make meaningful product recommendations, then all of these 2000 products need to be present in the feed.
- Example: If your shop contains 2000 products, and 500 of these have variations (different size, color etc.), and if Addwish are to make these either searchable or available as recomendations to other products, then all masterproducts as well as their variations should be present in the feed.
- Example: If you shop has 2000 products and all of these have variations, BUT you only want Addwish to show and recommend the master-products, the feed should only contains these products and not their variations.
Product changes on the site should be reflected in the feed. The needed update frequency will vary from shop to shop, depending on individual requirements, but we will read the feed accordingly, after which the information will be updated on our side also.
The urls of the individual product should be EXCACTLY the same as can be seen on the site – so if you have special redirect/replace-rules for how urls behave in browser, these should be considered when giving us the feed.
- Example: If a given product url is defined as www.example.com/men/shirts/blaa--skjorte.html in shop system but is “seen” as www.example.com/bla-skjorte.html (either in browser, in open graph tags, in canonical tags or similar), then it is the second version of url, that should be made available to us in the feed.
Metadata about the product should ideally be the same as is used on the site, and not necessarily as it might be defined in your shop database.
- Example: A shirt has been assigned the following categories in shop system: “Female”, “Denim”, and “New arrivals” – but on site you navigate to the product through “For Women” > “Practical outfit” > “Shirts”, then it’s the second version that should be made available to us in the feed.
If a given product can be reached through different categorical paths, then ALL of these should be present in the feed, in the following structure (Here we use an example where the product resides in different categories, and we indicate the hierarchies like this):
If you have different currencies on the same site (and want Addwish to display different prices depending on user’s selection), we would also like to have this included in the feed, in a unique tag for each currency.
So the structure of the feed overall, should follow this format:
<title><![CDATA[ title of product ]]></title>
<keywords><![CDATA[ data that should be available for search ]]></keywords>
We also would like to have the purchased products returned to Addwish through a conversion span, on the checkout page. This will enable us to map sales to actual products, which can be used as a basis of Addwish product recommendations. The required format is as follows:
<span class="addwish-conversion" style="display:none;"
In addition to sales being made AFTER Addwish was present on your site, we can also include purchases made before this time, by reading an order-feed, in the following format:
<product>the product number of product X (same as is used in product feed)</product>
<product>the product number of product Y (same as is used in product feed)</product>
<product>the product number of product Z (same as is used in product feed)</product>
<!-- More product numbers... -->
<!-- More orders... -->
In order for Addwish to be able to see what customers add to the basket, you should insert the following span on your basket page:
(The data-url attribute on the addwish-cart element is optional)
<span class="addwish-cart" style="display:none" data-url="http://example.com/cart/id/789">
<span class="addwish-product" data-url="http://example.com/product/456.html" data-productnumber="p-456-2">
<span class="addwish-product" data-url="http://example.com/product/2234.html" data-productnumber="p-2234">
Empty search page
If Addwish is to make a search function on your site, we need a url to a page without any content (so, header, footer and possible navigational tools will typically be the same as on other pages on site, but should contain a region where Addwish can injects search results)
- Example: www.example.com/addwish-search-results.html
Additional information on site
- Alternative product id’s. Sometimes, the add-to-basket method uses a different value than the productnumber mentioned previously, which might be a shop-specific product ID. If that is the case on your site, you should make the product ID available to us.
- Inserting elements on your site. Ideally the sites markup should enable Addwish to look for specific classes and ids, when choosing where to place elements, or where to pull additional data from. If for some reason that is not the case, we would ask you to add empty elements to your page for us to place the addwish content into.