API Integration Checklist

✓ Create a rich autocomplete to display suggested terms and products as a customer types using our Suggest API.

  • Follow the instructions for AutoComplete API Integrations.
  • Our Suggest API leverages data we’ve gathered from your customers and product data to suggest search terms for the customer based on what they’ve currently typed in the search box.
  • Once you’ve received a suggested term from our Suggest API you would then use the autocomplete endpoint in our Search API to also display products for that term to your customer.

✓ Include a summary of filters the customer has applied.

  • In your results display include a list of filters that customer has currently applied to the results to allow customers to remove filters easily.
  • Including a “Clear All” button as well can be helpful.

✓ If you have many different filters, allow customers to collapse and expand filters.

  • Your team can configure which filters are expanded and collapsed by default on our Filter Configuration page.
  • This frees up screen real estate and prevents overwhelming the customer.

✓ Include merchandising banners in results pages.

  • As part of our Search API response we include HTML for banners your merchandising team has configured in Athos.
  • These should be displayed on your results page in the position specified by the API response.

✓ Follow redirects returned by our API response.

  • If a member of your merchandising team has configured a redirect for a search term the URL for the redirect will be returned in the Search API response.
  • If a redirect URL is returned in the API response you should redirect the browser to that URL

✓ Do not apply any sorts to the search API request by default

  • Any changes in default sorting should be done through our merchandising boosting system.
  • By default our system will sort your results based on textual relevancy for search results pages and the primary sort configured in Athos for other pages.

✓ Show "Did You Mean" suggestions on zero results searches

  • If the search response includes a didYouMean object, be sure to place a link to the suggested search query on the zero results page saying something along the lines of "Did you mean {suggestion}?"

✓ Include Athos Landing Page functionality

  • Allow for the client to pass a "tag" parameter instead of a query to the search page to load a Athos Landing Page.
  • The tag parameter should be passed to the Search API to return all products assigned to that landing page.

✓ Implement Beacon Tracking Events

  • Beacon tracking events for shopper behavior are used to generate personalized experiences.
  • Beacon tracking events must be implemented for accurate reporting and analytics.
  • For each service (Autocomplete, Search, Category, Recommendations), implement the following events as applicable:
    • render - When results are requested and rendered on the page
    • impression - When results come into the shopper's view
    • clickthrough - When a shopper clicks on a result
    • addtocart - When a shopper adds a product to cart via Quick Add (if implemented)
  • Include required tracking parameters (userId, sessionId, pageLoadId, domain) in all API requests.
  • Additional events need to be sent for page view, order transaction, shopper login and cart mutation events.
  • If doing a server-side integration, it is important to pass the customer's IP address and user agent into the context object.

Required for All Events

  • Context object with 6 required fields (timestamp, pageUrl, userId, sessionId, pageLoadId, initiator)
  • Consistent userId across all visits
  • Consistent sessionId within single visit
  • Unique pageLoadId per page load

Search/Category/Autocomplete/Recommendations

  • Store responseId from API response
  • Fire render event when results displayed
  • Fire impression events for visible items only
  • Fire clickthrough with exactly 1 item
  • Include tag field (recommendations only)

Shopping Platform

  • Fire product/pageview on every PDP
  • Include full cart state in cart events
  • Include shopperId in shopper login context
  • Fire order/transaction on confirmation page