Integrating custom platforms with Remarkety

You can use Remarkety as a standalone platform and run campaigns without integrating your system. However, in order to run data-driven campaigns, automations, triggered campaigns and emails that are based on shopping behavior, Remarkety will need access to your store's data. This will allow Remarkety to analyze your data, monitor conversion results and run the campaigns.

If you are using a standard e-commerce platform, we probably already have a plugin ready for you to use - just search for Remarkety in your platform's app store. If you have a bespoke platform, you may need to implement the following.

How to integrate with Remarkety

1. Contact us first - we may be able to help!

2. Choose your preferred way and API to integrate with Remarkety. Depends on your needs and technology, you should select one of the following options to update your eCommerce data in Remarkety (Customers/Orders/Products/Carts):

- REST server-side poll API 

- Event based API (Recommended)

3. On your front-end website, implement the client-side JavaScript tracking code (Optional - used for Browse Abandonment, identify more clients, advanced tracking and email-capture Popup). The required JS code (pixel), is available from within your Remarkety account as well.

4. In addition, you can send Remarkety any Custom Event via Event based API to trigger custom event and automate emails. 

5. Contact our technical team and we'll verify the integration with you and connect your eCommerce data.

Server-side Poll API

To get your store's data, Remarkety routinely performs an "ETL" process which reads the latest data from your store (products, shoppers, orders and abandoned cart), analyzes it and uses it to update shopper data and run campaigns.

In order for Remarkety to be able to fetch your store's data, your store must implement the REST API detailed here: Remarkety Poll API V2. Please note the following important points:

1. Most queries (products, orders, shoppers, carts) will pass a "updated_at_min" parameter. This is an ISO-8601 encoded date-time string, and we will use the GMT timezone. What this parameter means, is that Remarkety is requesting data that has been updated since this date.

2. The data returned to Remarkety must be sorted by the updated at time, in ascending order (older items first).

3. All dates in all fields must either be returned as an ISO-8601 string (with timezone), or alternatively already be in the GMT timezone (UTC).

4. Authentication: The REST API must accept and check an API key. The API key will be sent on every request in the remarkety_api_key query parameter.

5. If you are a vendor and thus will serve distinct data for different stores, please be sure to encode the store ID as part of the endpoint URL, for example:<store_id>/products.

Client-side JavaScript Code

All pages in the website should include this piece of code, just before the </body> tag. Make sure to include the correct STORE_ID (this is the store ID as shown in Remarkety - if you are a vendor, you need a place for your users to be able to enter a distinct value to be set here). Also, the {% if customer %} .. {% endif %} is pseudo-code that identifies the logged-in customer (shopper) and sends us their email - you probably need to adapt this to your own platform here.

var _rmData = _rmData || [];
_rmData.push(['setStoreKey', '<<STORE_ID>>']);
{% if customer %}
_rmData.push(['setCustomer', '<<CUSTOMER_EMAIL>>']);
{% endif %}
<script>(function(d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = '';
s.parentNode.insertBefore(g, s);
}(document, 'script'));

In addition, product pages should also include this piece of JavaScript, right after the previous code:

var _rmData = _rmData || [];
       _rmData.push(['productView', {
         productId: PRODUCT_ID,
         productName: PRODUCT_NAME,
         productCategoriesIds: PRODUCT_CATEGORIES_ID_ARRAY,          productCategories: PRODUCT_CATEGORIES_ARRAY


PRODUCT_ID - The id of the product shown. The id should correspond to the id's you send in the /products endpoint

PRODUCT_NAME - The name of the product.

PRODUCT_CATEGORIES_ID_ARRAY - A JSON array of the category ids this product belongs to

PRODUCT_CATEGORIES_ARRAY - A JSON array of the category names this product belongs to.


Thank you,
The Remarkety team

Was this article helpful?
1 out of 1 found this helpful



Please sign in to leave a comment.