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:WinSCP - make sure that the temporary filename transfer option is disabled if you use the WinSCP client.
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.
In Dotdigital, expand the User menu and select Settings.
Go to Access > SFTP users.
Select NEW USER.
We automatically generate a unique user email address for you.Enter a description to help you differentiate between multiple users.
Enter and confirm a password.
For Status, select Enabled to activate the user.
Select SAVE.
2. Upload the file to the SFTP server
Before you start
The insight data file must be in JSON format. To learn more, check out the section JSON data representation.
To see the data schema you should follow for specific insight data collections, check out the section Data schemas.
To see the differences in the schema for unified contacts, see the below section Data schema for unified contacts.
To import insight data into your account:
Go to Connect > Scheduled data importer.
Select NEW UPLOAD.
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:
Copy the folder path created for you in Dotdigital.
Open your SFTP client, and connect using:
The username and password you created in Step 1.
Port 22.
In your SFTP client, use the file path to go to the new folder.
In the new folder, upload your Insight data file.
Go back to Dotdigital. For SFTP file, select the Refresh icon.
You should now see your imported file in the SFTP files list.Expand the SFTP file drop-down menu, and select the file you want to upload.
Expand the Encoding type drop-down menu and select the type of encoding you want to use.
For Email address to notify, enter an email address to receive a notification when your import finishes.
Separate multiple email address with a comma.
For Name, enter a name to identify your import.
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.
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:
For Frequency, select when you want the import to run.
There are four frequency options:Immediately
The import starts running within 1 min of inserting a file into the SFTP folder path.Hourly
Set the exact minutes past the hour when you want the import to run.Daily
Set the time of day the import runs.Weekly
Select a day or multiple days of the week, and set the time of day that the import runs.
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 withcollectionOwner
. Collection owner can be specified asaccount
or as a JSON object specifying the contactidentifer
and identifiervalue
. For example:
Type |
|
Account scoped Insight data |
|
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"
}
}
}
]
}
]