Integrate NetSuite with Dotdigital

Learn to set up your NetSuite integration in your Dotdigital account.

Overview

Availability: Private preview

The NetSuite integration is currently only available as a private preview; please contact your Customer Success Manager if you are interested in using this integration.

Integrate your NetSuite account with Dotdigital to sync your customers, contacts, opt-in oropt-out status, product catalogs, and orders between the two platforms.

Before you start

Things you need to know:


1. Add the NetSuite integration to your account

To activate the integration in your Dotdigital account:

  1. In Dotdigital, go to the Integration hub, and select the Self-serve tab.
  2. Select the NetSuite tile.
  3. Select Use Integration.

2. Connect to NetSuite

To connect NetSuite to your account:

  1. Select Connect your NetSuite Token-based Authentication.
    If you have previously set up a connection, select Next.>
  2. Enter your connection details:
    Field Description
    account_id

    Enter your NetSuite account ID.

    To find it, in NetSuite, go to Setup > Company > Company Information, and copy it from the ACCOUNT ID field.

    consumer_key Enter the consumer key (client ID), you copied in step 4 of Prepare your NetSuite environment for the Dotdigital integration.
    consumer_secret Enter the consumer secret (client secret), you copied in step 4 of Prepare your NetSuite environment for the Dotdigital integration.
    realm

    Enter your account ID again. If you're using a Sandbox instance of NetSuite, you must:

    • Change the - (dash) with _ (underscore).
    • Change the characters after the underscore to UPPERCASE.
      For example, 123456-sb5 becomes 123456_SB5.

    WGrM8_mc.png
  3. Select Save.
  4. When asked, log in to NetSuite. Your account must have permission to access to all the data you want to sync to Dotdigital.
  5. On the authentication screen, read the details, and if you agree with the Role, select Allow.
    d9lelzrY.png


3. Set up the time and date format

To accurately detect changes, the integration must know how your NetSuite instance is configured for dates and times.


> If you’re unsure of the information requested in this step, you can find it in your NetSuite account. Go to Home > Set > Preferences.


3aGeY3kQ.png

  1. On Detecting changes from NetSuite, expand the Date format drop-down menu, and choose the date format shown in NetSuite.
  2. Expand the Time format drop-down menu, and choose the time format shown in NetSuite.
  3. Expand the Timezone drop-down menu, and choose the timezone shown in NetSuite.
  4. Select Next.

4. Set up multiple match handling

When we try to relate a contact in Dotdigital with NetSuite, we might find multiple contacts, prospects, leads, or customers with the same email address. Having duplicates in NetSuite is not recommended, but you can tell the integration what to do if it discovers them.

DiCQuxgU.png


To set up multiple match handling:

  1. On Multiple match handling, expand the Multiple contact match handling drop-down menu, and choose how you want to handle multiple matches.
    Options are:
    • Update first contact where email and names match
      Correlates when the email address and the first and last names match.
    • Update first contact
      Chooses the first contact with the same email address.
    • Do not update
      No updates are applied when we find a duplicate.
  2. Select Next.

5. Set up opt-in and opt-out status syncing

Choose whether you want to sync opt-in and opt-out status and how it's stored in NetSuite.

  1. Expand the Sync opt-ins drop-down menu, and choose Yes (to sync) or No (not to sync).
    If you choose No, and don’t want to sync opt-ins, you can move forward to Step 6.
  2. Expand the Sync opt-in state drop-down menu, then choose the sync direction.
    Options:
    - From NetSuite to Dotdigital
    - From Dotdigital to NetSuite
    - Bi-directional
  3. For Select the entities you want to sync opt-in state for, choose from customers, leads, prospects, and contacts.
  4. Select Next.
    If you chose your sync direction as Dotdigital to NetSuite or Bi-directional. Expand the Create contacts for opt-outs drop-down menu, and choose Yes or No. Then select Next.
  5. Expand the Default category drop-down menu, and choose a default category.
    An earlier version of NetSuite allowed leads, prospects, and customers to be created without providing a value for their Category. However, later versions made this a required field; therefore, if the integration needs to update the opt-in or opt-out status for a record without a category, it must apply a default value.
  6. Expand the Default category when missing drop-down menu, and choose either Yes or No.
    Yes - The default category is used when required.
     No - The update is skipped if no category is available.
  7. Select Next.
  8. Expand the Opt-in data held in drop-down menu, and choose how you want to store your opt-in and opt-out data in NetSuite.
    Subscription status
    Use the default mechanism in NetSuite for the marketing subscription status.
    Using a field
    The opt-in and opt-out statuses are stored in a field on the contact and customer records.
  9. Select Next.

If you selected Subscription Status then continue to the steps below. If you selected Using a field, then skip forward to Holding Opt In/Out Status in a field configuration section.

Holding Opt In and Opt-out status in NetSuite's marketing subscription field

Follow these steps if you chose to store your subscription status in NetSuite's marketing subscription field.

  1. For Statuses that indicate a contact can be marketed to, select your marketing subscription statuses.
    For a standard NetSuite installation, this is Soft Opt-in and Confirmed Opt-in.
  2. Select Next.
  3. Expand the Opt-in status drop-down menu and choose the subscription status to indicate a contact or customer has opted into marketing.
    For standard NetSuite installations, this is Soft Opt-In
  4. Select Next.
  5. For Opt-out statuses, choose the statuses to indicate a contact or customer is opted out of marketing.
    For standard NetSuite installations this would be Soft Opt-out
  6. Select Next
  7. Expand the Opt-out status drop-down menu and choose the subscription status to set when syncing from Dotdigital to NetSuite, to indicate a contact or customer has opted out of marketing.
    For standard NetSuite installations, this is Soft Opt-Out and Confirmed Opt-out.
  8. Select Next, and proceed to <STEP 6>.

Holding Opt-in and Opt-out status in a field

Follow these steps if you chose to store your subscription status in a field:

  1. In this step, you choose whether you set a default opt-in status for your contacts. Expand the Default opt-in status drop-down menu and choose a default opt-in status.
    Options:
    - None - No opt-in status is set. Each contact or customer has their opt-in and opt-out status set in a field.
    - Opted in - All customers and contacts are opted in unless explicitly opted out by a field value.
    - Opted out - All customers and contacts are opted out unless explicitly opted in by a field value.
  2. Select Next.
  3. Expand the Opt-in status property drop-down menu, then choose the property field that holds your contacts’ and customers’ opt-in and opt-out status.
  4. Expand the Value type drop-down menu, then choose the field's data type.
    Options:
    - Boolean value - A boolean (true/false) value is held in the field.
    - Specific values - Text with specific values is held in the field.
  5. Select Next.
  6. If you chose your data type as boolean values with no assumed default opt-in or opt-out status, you must now choose what the true value indicates in the field. Select either Opted in or Opted out, depending on your setup.
    Gpr37S5M.png
  7. Select Next.
  8. If you chose your data type as Specific values, enter the text value precisely as it appears in NetSuite to indicate your opt-in value and opt-out value.
    Ruy9podM.png


6. Sync customer data

In this section we set up the integration to sync customer data with NetSuite. Customer entities in NetSuite includes customers, prospects and leads.

Set up customer sync

  1. For Customer syncing, expand the Sync customer data drop-down menu and choose either Yes or No.
    Options:
    - Yes - To sync customer entities.
    - No - Don’t sync customer entities.
  2. Select Next.
  3. To choose the direction that you sync customer data, expand the Contact sync options drop-down menu, then choose the direction you want to sync customer data.
    Options:
    - Bi-directional - Customer entity data is synced from both NetSuite and Dotdigital.
    - From Netsuite to Dotdigital - Customer entity data is synced only from NetSuite to Dotdigital.
    - From Dotdigital to NetSuite - Customer entity data is synced only from Dotdigital to NetSuite.
  4. Select Next.
  5. When syncing data, the integration must know which system holds the master data initially. If conflicting data is found in the initial sync, it will take the data from the master system and overwrite the other system. Choose from. Expand the Master system drop-down menu, then choose your master system.
    Options:
    - NetSuite - NetSuite data overwrites any conflicting records in Dotdigital during the initial sync.
    - Dotdigital- Dotdigital data overwrites any conflicting records in NetSuite during the initial sync.

    Warning

    Make sure you choose the correct master system, or you will lose data.

  6. For Customer stages to sync, you can choose the stages you want to sync customer data for, choose between Prospects, Leads, and Customers.
    Remember, the integration can only track up to 400,000 contacts and customers combined. If you need more, contact us to discuss your requirements.

Prospects, Leads, and Customers

  1. For each contact entity type (Prospect, Lead and Customer) you must choose a default status to set on the record. Expand the relevant drop-down menu, then choose the default status you want to apply. Select Next between each section.
  2. The integration can align the customer entity data from the master system to the other system when first created. This can be useful to ensure your data is fully populated in the non-master system. However, the master system's data will overwrite any conflicting data in the non-master system.
  3. Expand the Initial contact data alignment drop-down menu, and choose either Yes or No.
    Options:
    - Yes - All data from the master system is synced to the non-master system. 
    - No - Only data changed from this point is synced.

Warning

Make sure you choose the correct master system, or you will lose data.

CYGQbqmI.png

Customer field mapping

You can map fields from a Dotdigital data field to a NetSuite field, and we automatically reverse these to map the other way when required. In addition to the NetSuite entities fields and custom fields, we also list some calculated fields which are indicated by the encapsulating [[ ]] , such as [[ Firstname Lastname ]].

These Dotdigital data fields must be mapped:

  • EMAIL
  • FIRSTNAME
  • LASTNAME

You should map the following NetSuite fields if you want to use or set them:

  • category
    Map to a numeric field in Dotdigital, which holds the numeric NetSuite internal ID for the category to which the record belongs.
  • entitystatus
    Map to a numeric field in Dotdigital which holds the numeric NetSuite internal ID for the entity status the record has.

By default, we pre-populate the minimum required fields that need mapping. We recommend only mapping fields you want to use in Dotdigital rather than all fields on the entity.

To set up field mapping:

  1. On the Customer field mappings, use the drop-down menus to map your Dotdigital data fields to your NetSuite customer fields.
    H9xXRan8.png
  2. Select Next.
  3. Your mappings are now tested against your NetSuite instance to ensure they are usable. If an issue is shown, adjust your mappings to correct this.
  4. Once testing is successfully completed, select Next.
The NetSuite field names are listed as the internal ids and custom fields by name. To find your internal IDs, check out the NetSuite article How to Find a Field's Internal ID.

If you haven’t mapped the NetSuite category field

For the integration to create a lead, prospect, or customer in NetSuite, we need some category settings. Because you didn't map the NetSuite category field, you must specify a default category to apply when creating a lead, prospect or customer.

In addition, earlier versions of NetSuite allowed leads, prospects and customers to be created without providing a value for their Category. However, later versions made this a required field; therefore, if the integration needs to update the opt-in or opt-out status for a record without a category, it must apply a default category, or it will be unable to update.

jCQMjDnM.png

  1. Expand the Default category drop-down menu, then choose a default category.
  2. Expand the Use default category when missing drop-down menu, then choose whether of not the integration is allowed to apply the default category when required:
    Options
    - Yes - The default category is applied when required.
    - No - The update is skipped if no category is present on the record
  3. Select Next

If you need to filter to a subset of contacts

To be performed by a developer.

The integration uses SuiteQL to access your NetSuite data, and we automatically filter for contacts entities that have an email and are not duplicates. Optionally you can add your own filters if you need to limit the data further.

8a10g_uw.png

  1. For Customer's SuiteQL filter, enter additional filter criteria, using SuiteQL WHERE clause syntax against the customers table for example, country = ‘US’.
    If you specify a filter, it is tested and must work before you can proceed.
  2. Select Next


7. Sync contact data

In this section we set up the integration to sync contact data with NetSuite.

Set up contact sync

  1. For Contact syncing, expand the Sync contact data drop-down menu and choose either Yes or No.
    Options:
    - Yes - To sync contacts.
    - No - Don’t sync contacts.
  2. Select Next.
  3. To choose the direction that you sync contact data, expand the Contact sync options drop-down menu, then choose the direction you want to sync contacts data.
    Options:
    - Bi-directional - Contact data is synced from both NetSuite and Dotdigital.
    - From NetSuite to Dotdigital - Contact data is synced only from NetSuite to Dotdigital.
    - From Dotdigital to NetSuite- Contact data is synced only from Dotdigital to NetSuite.
  4. Select Next.
  5. When syncing data, the integration must know which system holds the master data initially. If conflicting data is found in the initial sync, it will take the data from the master system and overwrite the other system. Expand the Master system drop-down menu, then choose your master system.
    Options:
    - NetSuite - NetSuite data overwrites any conflicting records in Dotdigital during the initial sync.
    - Dotdigital- Dotdigital data overwrites any conflicting records in NetSuite during the initial sync.

    Warning

    Make sure you choose the correct master system, or you will lose data.

  6. The integration can align the contact data from the master system to the other system when first created. This can be useful to ensure your data is fully populated in the non-master system. However, the master system's data will overwrite any conflicting data in the non-master system.


Expand the Initial contact data alignment drop-down menu, and choose either Yes or No.

Options:
- No - Only data changed from this point is synced.
- Yes - All data from the master system is synced to the non-master system.

Warning

Make sure you choose the correct master system, or you will lose data.

ptEen_r4.png

Contact field mapping

You can map fields from the Dotdigital data field to the NetSuite field, and we automatically reverse these to map the other way when required. In addition to the NetSuite entities fields and custom fields, we also list some calculated fields which are indicated by the encapsulating [[ ]] , such as [[ Firstname Lastname ]].

These Dotdigital data fields must be mapped:

  • EMAIL
  • FIRSTNAME
  • LASTNAME

You should map the following NetSuite fields if you want to use or set them:

  • category
    Map to a numeric field in Dotdigital, which holds the numeric NetSuite internal ID for the category to which the record belongs to.
  • entitystatus
    Map to a numeric field in Dotdigital which holds the numeric NetSuite internal ID for the entity status the record has.

By default, we pre-populate the minimum required fields that need mapping. We recommend only mapping fields you want to use in Dotdigital rather than all fields on the entity.

The NetSuite field names are listed as the internal ids and custom fields by name. To find your internal IDs, check out the NetSuite article How to Find a Field's Internal ID.

To set up field mapping:

  1. On the Contact field mappings, use the drop-down menus to map your Dotdigital data fields to your NetSuite contact fields.
    Zz_tmyCU.png
  2. Select Next.
  3. Your mappings are now tested against your NetSuite instance to ensure they are usable. If an issue is shown, adjust your mappings to correct this.
  4. Once testing is successfully completed, select Next.

If you need to filter to a subset of contacts

To be performed by a developer.

The integration uses SuiteQL to access your NetSuite data, and we automatically filter for customer entities that have an email and are not duplicates. Optionally you can add your own filters if you need to limit the data further.

-utQecCo.png

  1. For Contact's SuiteQL filter, enter additional filter criteria, using SuiteQL WHERE clause syntax against the contacts table for example, country = ‘US’.
    If you specify a filter, it is tested and must work before you can proceed.
  2. Select Next

8. Import your product catalog

In this section, we configure how items sync from NetSuite to Dotdigital as a product catalog. You must complete this step if you want to make the most of Dotdigital’s ecommerce features.

To learn more about Dotdigital Ecommerce features, check out our Ecommerce articles.
  1. On Product catalog sync, expand the Sync product catalog drop-down menu, then choose Yes or No. Then select Next.
    Options:
    - Yes - To sync product catalog.
    - No - To not sync product catalog.
  2. NetSuite lets you specify the prices of items in multiple currencies. However, Dotdigital’s product catalogs only store prices in a single currency. Expand the Catalog price currency drop-down menu, then choose the currency you want to use in Dotdigital. Then select Next.
  3. If you use NetSuite’s built-in ecommerce store, you can choose to filter products listed for sale online. Expand the Sync only online products drop-down menu, then choose Yes or No.
    Options:
    - Yes - Syncs only items flagged as online (isOnline = ‘T’ in SuiteQL) .
    - No - syncs all items available for syncing.
  4. For What product types do you want to sync, select the item types you want to sync into the product catalog. Then select Next.
  5. Optional: If you want to filter to a custom subset of items.
    ioOeB68w.png

    By default, the integration syncs all items matching the types you requested syncing in the previous step. However, you can specify additional filter criteria for each item type to customise further which items are included in the product catalog.

    Requires NetSuite administrator knowledge


    In the SuiteQL filter query box, enter any additional filter criteria, using SuiteQL WHERE clause syntax against the items table, for example, shipindividually = ‘T’. When complete, select Next.

    If you specify a filter, it is tested and must work before you can proceed.
  6. You might not hold an online store URL and image URL for each item you want to sync. However, Dotdigital's ecommerce features require these to operate. You can specify default values to use if we cannot find a values for an item.


    For Company or online store URL, enter the URL for your company or online store.

  7. For Fallback product image URL, enter the URL to use whenever we cannot map an items specific image. Then select Next.

  8. You must define the field mappings from Dotdigital's product catalog fields to NetSuite's item fields. By default we define the minimum mappings required.

    In addition to the NetSuite items fields and custom fields we list some calculated fields which are indicated by the encapsulating [[ ]] , such as [[ Price: Base Price]]. The calculated fields include mappings to the price types held against an item denoted as [[ Price: Price type name ]], which allow you to assign the price type you wish to the product catalog's price and specialPrice fields.


    You must map the following Dotdigital product catalog fields:

     

    1. image_path - Use [[ Blank ]] if you don't hold this in NetSuite, and you're using the default image path will be used

    2. name

    3. price

    4. sku

    5. url - Automatically set to your fallback store URL.

      Enter the Product field mappings as required.
      O6yq15Lw.png

  9. Select Next.

9. Import orders

This section configures the syncing of order data to Dotdigital to enable Dotdigital’s ecommerce features.

  1. Expand the Enable order syncing drop-down menu, then choose whether you want to sync orders or not.
    Options:
    Yes - Sync orders.
    No - Don’t sync orders.
  2. Select Next.

 

10. Setup complete

The integration is now active, and it syncs data hourly. If you chose to align data from the master system to the non-master system, due to the volume of data, it might take between 24 and 48hrs before all data is synced, but this can vary greatly depending on data volumes

_C4_6jgA.png

You must be patient with the initial sync, but if you still are missing data after 72 hours, then contact our support team.

Did you find this article helpful?

Can we help?

Thanks for using Dotdigital. If you need more help or support, then contact our support team.