Onboarding guide

Ad Networks Integration

The Exposebox Integration Guide provides information about implementing Exposebox on your site. It’s all about easy implementation for devs, with maximum flexibility for product and marketing. The step-by-step walks you through the procedures to establish data integration between your site and Exposebox.


Integration with your site is the first step for enabling data analysis, to optimise your marketing activities, including your site. This Integration Guide will provide you with the script to track visits and events on your site pages to achieve your goals.

Exposebox popular features include recommendation widgets, omnichannel, DMP for building audiences/segments and running campaigns through external ad networks such as AdWords and Facebook while transforming your site into an ad network in itself.

Getting started

The following Setup Wizard provides the integration between Exposebox and your site:

  1. General Info
  2. Events – JavaScript tags that enable the data exchange between Exposebox and your site. 
  3. Product Catalog – provides information about your Product Catalogue.
  4. Testing Assets – verify and process the received data.
Accessing the Setup Wizard
  1. Go to https://dashboard-v2.exposebox.com/
  2. Login to your account 
  3. On the left-hand side – click on Site Setup
General info

As a first step, we need to know basic information about your site:

Site label – Insert your website name
URL – Insert your website URL
Site Logo – Upload logo | Fetch site logo – to be able to fetch the logo, make sure to insert your sites’ URL


Implementing Exposebox’s scripts will provide the infrastructure for the data exchange between Exposebox and your site.

You have two options: 

  • Copy and Paste the below script into a tag manager 
  • Implement the script into your web pages 

Make sure to replace the necessary fields to start tracking. 

For example, when looking on product page script: window.predictlApi(function () { window.predictlApi.setProducts([‘product-id‘]); });

The product-id needs to be replaced with the actual product id of the product on your website.

The script loads asynchronously, therefore it won’t conflict with the page loading time or user experience.

The setup process can be accessed both through the workflow and the settings screen.

Following the script implementation on your website, you’ll be able to see your up-to-date statistics.

Status meaning:

  • Green – Set up successfully completed 
  • Orange – Set up incomplete

For additional information, visit the ‘Settings’ page.

Exposebox basic script

By sharing your Product Feed, it enables you to have a persist insight into your customer model and accurate product recommendation. Add relevant product details in columns into the Data Feed. The new data is automatically loaded to the free-data property of the product inside Exposebox; we support all Feed standards.

When listing, updating or removing a product from stock, the process is done seamlessly as the Feed is processed periodically. In the below steps, we provide you with the code snippets for implementation.

Note: Replace the variable’s value with your CompanyID provided by Exposebox. 
Product pages

Integrating your products enables Exposebox to suggest recommendations based on product performance. Integrate the following script on every product page on your site. In case the page contains multiple products, use an array of product IDs.

window.predictlApi(function () {


Category pages

Integrating the Category pages enables Exposebox to recommend products from the same category. The related categories need to match the categories provided in the Product Catalogue. The Event sends a categories array that deducts from the breadcrumbs or the path in which the users place the products if they are consistent. 

The Category Array order is from the lowest level to the highest level of filtering (the current category will be the last)

window.predictlApi(function () {
Cart events

Integrating Cart Events enables Exposebox to detect abandoned items in the cart. This Event is used for both segmentation, recommendation, and can trigger the cart abandonment email/SMS. The Event includes the ProductID, quantity and unit price of the SKU added to the cart. The amount has to be the amount added/removed from the cart.

Example: user added 3 items of the same SKU to cart (event= “add 3”), then 2 removed from the cart (event=“remove 2”), then additional item added (event=“add 1”).

Added to cart
window.predictlApi(function () {
var productId = “p34212332”;
var quantity = 1;
var unitPrice= 76.50;
window.predictlApi.events.addToCart(productId, quantity,unitPrice);
Removed from cart
window.predictlApi(function () {
var productId = “p34212332”;
var quantity = 1;
window.predictlApi.events.removeFromCart(productId, quantity);
Purchase event

Integrating Purchases enables Exposebox to display recommendations based on customer purchase behaviour. The event will be fired when a conversion event has occurred. For example, when displaying a “thank you” page after purchase is complete. The total price should be the amount paid by the customer, after discounts, coupons and delivery.

window.predictlApi(function () {
var orderId = “ord-45215”; // Store order id
var totalPrice = 105; // Order total price after discounts, coupons and delivery.
var cartProducts = [    
{productId: “p34212332”,quantity: 1, unitPrice: 43.00},
{productId: “p34212345”,quantity: 1, unitPrice: 56.00}
predictlApi.events.conversion(cartProducts, orderId, totalPrice);
Customer details

You must Integrate Customer Details to enable the synchronizing between your online and offline data to be able to send email and SMS campaigns. 

Note: Event type – active session – post-registration or login. The login event can also occur during checkout.

The CustomerID field is mandatory. All other fields are optional. 

    • An email address can be used as the Customer Identifier, meaning the CustomerID is the email address.
    • The FreeData field used to pass additional customer properties, and it overrides the current values.
window.predictlApi(function () {
       customerId: ‘12345678’, //the customer ID as defined in your systems
       email: ‘jon.snow@exposebox.com’,
       firstName: ‘Jon’,
       lastName: ‘Snow’,
       address1: ‘The Wall’,
       address2: ‘Tower of Joy’,
       city: ‘Winterfell’,
       country: ‘Westeros’,
       state: ‘The North’,
       zipCode: ‘02139’,
       phone: ‘054-5643454’,
       freeData: {
Segmentation tags

By adding Segmentation Tags on all your desired site pages allows you to customised attributes which you can later group to Audiences. The Audiences are used for executing Sponsored Products campaigns.

  • The Segmentation Tag contains a key-value pair that you set based on your marketing/business needs.
  • Segmentation Tags must be determined before the integration. 

Usage Example: An article page with the ‘Hobbies’ key containing values as “knitting” or “gardening”, will enable you to build Audience groups that are interested in knitting or gardening.

window.predictlApi(function () {
   var tags = {
       hobbies: [‘knitting’,’gardening’],
       priceRange: [‘0-100’]
Search and filter tags

Adding the Search and Filter tags enable Exposebox to know the items your current users are interested in. This Event is fired when users are running a search or filtering their preferences.


  • The best practice is to send the top 6 products at the top of the search results page.
  • You can always add additional properties, based on the filter parameters entered by the customer on your website.
  • All fields are optional.

In the below example, a customer searched for “Men winter coats”, and next filtered the results by category, then min prices and fabric type.

window.predictlApi(function () {
   var products = [‘p34212332‘,’p3426678‘,’p3426888‘];
       query: ‘Men winter coats’, //The search query
       products: products, //Top 6 product results
       //All the search parameters filtered by the user
       categories: [‘Men’,’Coats’],
       minPrice: 11.0,
       maxPrice: 51.0,
       fabric: [‘tweed’,’wool’]
Optional custom events

Integrating the Custom Script Event enables Exposebox to provide additional learnings about customers’ behaviour. For example, when customers save a product to a Wish List, this improves the results provided by the algorithm and can also trigger the Marketing 360 Automation rules.


The Event is fired once the customer clicked on the checkout button, usually at the cart page. Note that this Event doesn’t mean that the customer has completed the purchase.

window.predictlApi(function () {
Wishlist – Add and remove

This enables Exposebox to access the data of a specific user who is added/removed an item to the Wish List.

//A click event on “Add-To-Wish-List”
window.predictlApi(function () {
   var productId = p34212332;

//A click event to remove a “Remove-From-Wish-List”
window.predictlApi(function () {
   var productId = p34212332;
Additional custom events

For custom Events please contact Exposebox Professional Services through Customer Support.

A product catalogue (Feed)

This section of the Onboarding Guide details how your Product Feed is provided to Exposebox; Customer Model and Products Recommendations based on product properties.

Product properties determination
Product definitions

The Product Property assists us in providing a better user experience, both by understanding the associations between the products and using the properties as part of a campaign layout. 

For example, a customer views a red dress and the Colour Property records the behaviour. Exposebox then provides a recommendation to the customer and may show additional products tagged as ‘red’.

When additional details about the product are available, you should include them in the Feed in the form of new columns. The additional data is automatically loaded to the free-data property of the product. We support all Feed conventions.

For Example, to add “colour map” or “relevant season” to the Product Properties, add two columns (one for each) with the product name convention. 

The order of the fields in the product catalogue is insignificant.


Need help?