Import Insight data for unified contacts

Orders, web behaviour data, consent information, and more.

Laura Russell avatar
Written by Laura Russell
Updated this week

Insight data powers your ecommerce features, such as RFM personas, the retail dashboard, commerce reporting, and product recommendations.

We designed the import insight data tool to help you get started using your account as quickly as possible. It lets you bulk upload essential data, such as your orders and product catalogs.


Before you start

Things you need to know:

  • You must have the Insight data importer enabled on your account.

    To do this, contact your Customer Success representative.

  • Your contacts must already exist. Importing insight data doesn't create new contact records.

  • You must download an SFTP client. You need this to connect to our SFTP server.
    Some popular SFTP clients:


Import your insight data

Integrations

Many of our integrations are set up to import Insight data into your Dotdigital account. This article covers the use of the in-app Insight data importer. To learn more about Integrations, check out the Integrations section of the Help Centre.

1. Create an SFTP user

You need to create an SFTP user to authenticate your connection to our SFTP server.

  1. In Dotdigital, expand the User menu and select Settings.


  2. Go to Access > SFTP users.

  3. Select NEW USER.
    We automatically generate a unique user email address for you.

  4. Enter a description to help you differentiate between multiple users.

  5. Enter and confirm a password.

  6. For Status, select Enabled to activate the user.

  7. Select SAVE.

2. Upload the file to the SFTP server

Before you start

To import insight data into your account:

  1. Go to Connect > Scheduled data importer.


  2. Select NEW UPLOAD.

  3. Select Insight data, and then select NEXT.
    We've already created a new folder for you, and you can see the folder's file path where you must upload your import file.

To upload your file to the SFTP server:

  1. Copy the folder path created for you in Dotdigital.

  2. Open your SFTP client, and connect using:

    1. The username and password you created in Step 1.

    2. Port 22.

  3. In your SFTP client, use the file path to go to the new folder.

  4. In the new folder, upload your Insight data file.

  5. Go back to Dotdigital. For SFTP file, select the Refresh icon.
    You should now see your imported file in the SFTP files list.

  6. Expand the SFTP file drop-down menu, and select the file you want to upload.

  7. Expand the Encoding type drop-down menu and select the type of encoding you want to use.

  8. For Email address to notify, enter an email address to receive a notification when your import finishes.

    Separate multiple email address with a comma.

  9. For Name, enter a name to identify your import.

  10. Select NEXT.

3. Set up a collection for the data import

If you’re importing JSON for unified contacts, which matches the updated schema, then you specify the collection in the JSON file. You therefore proceed directly to scheduling your import.

If you’re using legacy schema, you can follow the instructions in this article to set your collection.

4. Schedule the import

On the Schedule page, you choose the frequency you want to the import to run. The import includes all files that are in the SFTP folder path.

To schedule the import:

  1. For Frequency, select when you want the import to run.
    There are four frequency options:

    1. Immediately
      The import starts running within 1 min of inserting a file into the SFTP folder path.

    2. Hourly
      Set the exact minutes past the hour when you want the import to run.

    3. Daily
      Set the time of day the import runs.

    4. Weekly
      Select a day or multiple days of the week, and set the time of day that the import runs.

  2. Select SAVE.

Data schema for unified contacts

There are a few key differences in the data schema for Insight data for unified contacts:

You can see the legacy Insight data schema in the developer hub.

  • The objects JSON is moved one level down into the records property.

  • collectionName is now specified inside the JSON you provide for import.

  • ContactIdentifier has been replaced one level up with collectionOwner. Collection owner can be specified as account or as a JSON object specifying the contact identifer and identifier value. For example:

Type

Account scoped Insight data

"collectionOwner": "account"

Contact scoped: using ContactID

"collectionOwner": { "identifier": "contactId", "value": "1234" }

Contact scoped: using email

"collectionOwner": { "identifier": "email", "value": "jane.doe@emailsim.io" }

Contact scoped: using mobile number

"collectionOwner": { "identifier": "mobileNumber", "value": "27831234567" }

Example JSON

[
{
"collectionOwner": "account",
"collectionName": "catalog_myStore",
"records": [
{
"key": 24938,
"json": {
"name": "Jeans beanie hat",
"price": 56,
"url": "https://mystore.example.com/product/24938",
"sku": "hat-24938-men",
"image_path": null
}
}
]
},
{
"collectionOwner": "account",
"collectionName": "catalog_myStore",
"records": [
{
"key": 24938,
"json": "\n{\n \"name\": \"Jeans beanie hat\",\n \"price\": 56,\n \"url\": \"https://mystore.example.com/product/24938\",\n \"sku\": \"hat-24938-men\",\n \"image_path\": null\n }"
}
]
},
{
"collectionOwner": {
"identifier": "mobileNumber",
"value": "00000000001"
},
"collectionName": "Orders",
"records": [
{
"key": 24938,
"json": {
"PurchaseDate": "2020-01-01T09:40:18.527Z",
"TotalExTax": 56,
"TotalIncTax": 67.2,
"SalesChannel": "In store",
"SalesSubChannel": "Manchester",
"Product": {
"Na_me": "Jeans beanie hat",
"Na-me": "Jeans beanie hat",
"Brand": "Jeans",
"Department": "Menswear",
"Category": "Hats",
"PriceExTax": 56,
"ProductID": "24938"
}
}
}
]
}
]
Did this answer your question?