Skip to main content
Brands are increasingly collecting feedback on their products and customer’s in-store experiences. Lipscore is a nordic leader in this space. Lipscore reviews and ratings can be easily incorporated into Engage. In Engage, the data from Lipscore can be used for the segmentation of customers based on their reviews, ratings, and other data, enabling targeted communication to customers.

How it works

Here is how the integration works:
  1. Lipscore is configured to fetch contact and product data, as well as transactions and their line items, from Engage using Engage’s Delta Share service.
  2. Lipscore processes this data to decide which contacts should be sent an email prompting them to leave a product review, and which products should be included in the prompt.
  3. The email can be sent from Lipscore or from Engage. If the second option, the processed data goes to a custom automation trigger that must be already set up to receive the data and send the email.
  4. The processed contact / product data can optionally also be sent to Engage as an interaction. This allows it to be saved and used for segmentation.

In Email Design Studio

After you have added the custom trigger (see below) the Lipscore starter module can be found in the module Starter library in the “Partner” category. Add the module to the canvas and save it in your Team library for future use in sendouts. As the module is based on HTML code sent by Lipscore, you will not be able to style the content.
In Email Design Studio

In classic email editor

The custom trigger request to Engage contains HTML-code (reviewHTML), generated by Lipscore, which must be personalized and rendered in the email template in Engage. Below are examples of the different emails that can be sent:
Delivery confirmation email
Product review email
Service review email

Setting up delta share access

This integration requires delta sharing to be correctly set up for you. This is done in the Engage back end. Contact your Voyado PM about this.

Setting up custom trigger

You’ll need to create a custom automation trigger to use the Lipscore integration with Engage. This trigger can be set up in the Engage Config Hub. Once you have access to Config Hub, follow the steps below.
1

Create the trigger

Select Create custom trigger.
2

Define the custom trigger

Enter Name, TriggerId and Description for your custom trigger.
  • Name: A human readable name, shown in the Engage UI
  • TriggerId: The unique ID for this custom trigger
  • Description: A summary of what the trigger is used for
Custom trigger creation
It’s important that TriggerId and Name here are correct.
3

Next step

Select Next.
4

Add the fields

Now you will add the fields that Lipscore will send in the payload request. For each one, select Add field and then enter “Name” and “Description” as in the table. Press Save after each one.
NameDescription
reviewHTMLA HTML block creating the look and feel for the email. Currently included are the 5 stars, a link to a landing page, and product data such as name and image
typeType of send-out, either productReview or serviceReview
languageLanguage from Lipscore (as ISO 639)
sourceNameSource name is assigned during integration by Lipscore. Usual format is “[your base store name] – [your Voyado store name]”
sourceIdSource ID is the external store ID of your Engage store
5

Custom trigger ready

Your custom trigger should now show up on the list of triggers when you create a new automation in Engage. It is recommended to use type as the entry criteria for the automation.

Setting up automation for review emails

Lipscore has a guide for sending review emails through Engage:

See Lipscore's guide

Interactions in Lipscore

The Lipscore integration allows data to be sent to Engage using an interaction. Data sent this way can be viewed in the Engage UI and also stored and used for segmentation.
https://mintcdn.com/voyado-partners/0IxEIB2Y6a--gNYY/icons/developer-link.png?fit=max&auto=format&n=0IxEIB2Y6a--gNYY&q=85&s=36f1df27b0269657d842f3301d440083

Learn about interactions

1 - Creating the interaction schema

Interactions in Engage are defined by a schema. This is the structure of the schema used for the Lipscore integration:
{
  "jsonSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "ratingId": {
        "type": "integer",
        "displayName": "Rating ID",
        "showInContactCard": "false"
      },
      "rating": {
        "type": "integer",
        "displayName": "Rating",
        "showInContactCard": "true",
        "addToSegmentation": "true"
      },
      "comment": {
        "type": "string",
        "displayName": "Comment",
        "showInContactCard": "true"
      },
      "productSku": {
        "type": "string",
        "displayName": "Sku",
        "showInContactCard": "true",
        "addToSegmentation": "true"
      },
      "name": {
        "type": "string",
        "displayName": "Name",
        "showInContactCard": "true"
      },
      "brand": {
        "type": "string",
        "displayName": "Brand",
        "showInContactCard": "true"
      },
      "type": {
        "type": "string",
        "displayName": "Type",
        "showInContactCard": "true",
        "addToSegmentation": "true"
      },
      "sourceId": {
        "type": "string",
        "displayName": "Source ID",
        "showInContactCard": "true"
      }
    }
  },
  "id": "completedProductRating",
  "displayName": "Completed product rating"
}
To create the Interaction, the schema above is sent to this endpoint:
POST api/v3/interactionschemas
Lipscore will set up the schema on their end. Some configuration in Engage needs to be done before this schema can be used so get in touch with Voyado before setup.

2 - Sending the interaction

Once the schema has been created and posted, you can send interactions of this type. In the case of the schema above, the interactions you’ll send looks like this:
{
  "contactId": "930dca46-7ed5-4761-84f5-b18d010f031b",
  "schemaId": "completedProductRating",
  "payload": {
    "ratingId": 6028323,
    "rating": 4,
    "comment": "This is sooooooooo cool..",
    "productSku": "",
    "name": "The Collection Snowboard: Liquid",
    "brand": "Hydrogen Vendor",
    "type": "productReview"
  }
}
The schemaId (is this case “completedProductRating”) must match the one used in the schema definition payload. The attribute “type” can have the following values:
  • productReview: The first time this contact reviews this product
  • productRating: The first time this contact rates this product
  • serviceReview: The first time this contact reviews this service
  • serviceRating: The first time this contact rates this service
  • updated_productReview: Contact updates an existing product review
  • updated_productRating: Contact updates an existing product rating
  • updated_serviceReview: Contact updates an existing service review
  • updated_serviceRating: Contact updates an existing service rating
This payload is sent to the interactions endpoint:
POST api/v3/interactions

3 - Using the interaction data

An interaction is picked up in Engage by either the “New Interaction” or “New specific interaction” automation triggers. It can then be used to start an automation. Use the “New specific interaction” trigger here since it allows you to pick certain values inside the interaction to decide whether to trigger the automation or not.
"New specific interaction" trigger
Filtering the criteria
You will also be able to filter via specific fields that were sent by Lipscore:
Filtering by Lipscore fields
Interaction data will be displayed on the contact card (in the “Interactions” tab).
Interactions on contact card
The data received from interactions can also be used for segmentation.

4 - Updating an existing review

When a product review is updated through an interaction, the “type” in the payload will be set to “updated_productReview”. By specifying in your automation trigger which values of “type” will trigger the automation (for example, “productReview” and “serviceReview”) you can prevent the automation from running in cases like this. For example, you might just want to send a mail when the review is first sent, and not when it is updated. If such an update is sent to Engage, Lipscore will remove the original review and create a new one, since existing interactions can’t be updated.

Lipscore data fields

These are the Engage data fields used by the Lipscore integration.

Contact

Data fields
contact.contactId
contact.email
contact.firstName
contact.lastName
contact.mobilePhone
contact.countryCode

Receipt

Data fields
receipt.receiptId
receipt.receiptNumber
receipt.externalId
receipt.createdOnDateTime
receipt.storeExternalId
receiptItem.articleNumber
receiptItem.articleName
receiptItem.localPrice
receiptItem.localCurrency
receiptItem.articleGroup

Article

Data fields
article.articleId
article.articleNumber
article.gtin
article.sku
article.articleName
article.brand
article.mainCategory