NetSuite Tips, Best Practices, and Troubleshooting

Missing custom attribute for NetSuite contacts/customers/transactions are not showing up in the Connector

  • Related records are not supported.
  • If the attribute was recently created, you might need to sync the Connector from the dashboard and then look for the attribute again.
  • Available to SuiteSignOn needs to be checked.
  • If there are more than 1000 custom field entities, there is a NetSuite API limitation to only bring back 1000 fields. The number of custom entity fields needs to be reduced.
  • Make sure the connection with NetSuite is properly established. You might need to reconnect.

Missing saved search in NetSuite is not showing up in Connector

  • In NetSuite, the Public box should be checked for Saved Search.
  • Available As Dashboard View, Available As Sublist View, and Available as List View should not be selected. Selecting these causes the saved search to not be returned by through the API.
  • If the saved search was created recently, you might need to sync the Connector from the dashboard and then look for the saved search again.
  • Make sure the connection with NetSuite is properly established. You might need to reconnect.

Avoid Bronto integration making changes to NetSuite customer or transaction records

  • If unwanted or unexpected changes are being made, a NetSuite workflow or user event script is likely what is causing the changes after Bronto imports and saves the record.
    1. If the issue is problematic and ongoing, you should turn off the Import Schedule in Connector for the affected record types until you can identify what workflow or script is causing the unwanted changes.
    2. Running individual test imports before taking the Connector out of test mode allows us to circumvent this as much as possible. It is critical that each record type that is being used is tested to verify that no unwanted or unexpected changes are being made to NetSuite records after they are imported to Bronto.
    3. This is an example of what you should expect to see after a transaction record has been imported to Bronto. All of these modified fields are part of our integration and are found under the Bronto tab.

Avoid unwanted overwriting of unsubscribes or contact data in Bronto

  • If you have been using Bronto (sending/uploaded lists and contact data) before turning on the Connector (taking the Connector our of Test Mode and allowing the import schedules to take over), you should think about where your primary system of record is for each of the following pieces of data:
    1. Contact Attributes

      If your attributes are primary to NetSuite, they should complete the initial sync with a blue arrow for all attributes that are mapped in the Connector. This ensures that all attribute data from NetSuite comes into Bronto first.

    2. Opt-In Status

      If you have already imported lists of active contacts into Bronto from another ESP that is not NetSuite, you should complete the initial sync with a green arrow for Global Subscription Status, even if you want a bi-directional sync going forward. This ensures that any contacts that already exist in Bronto will maintain their status.

    3. Campaign Subscriptions

      If your campaign subscriptions are primary to NetSuite, you should complete the initial sync with a blue arrow for all subscriptions that are mapped in the Connector, even if you want a bi-directional sync going forward. This ensures that all subscriptions mirror NetSuite at first.

  • After the initial/historical sync of all NetSuite data has completed, you can set a bi-directional sync for any of the above data.

Soft-Opt out by default NetSuite Marketing preference

As a permission-based marketing platform, we recommend setting Soft-Opt Out as the default for record creation in NetSuite, unless the SetSuite storefront requests users for their marketing preference on account creation. This setting can be found under Setup > Marketing > Marketing Preferences

Notes on Sandbox testing (optional)

  • You can configure the Connector to operate in test mode to test the integration in Sandbox, to avoid making changes to Production records.
  • A Sandbox connection can be configured with field mappings, but the NetSuite Sandbox should be refreshed before implementation, to make sure the most recent data fields are in place.
    Note: Subsequent sandbox refreshes will affect the employee and integration records required by the integration, and potentially disable any existing Sandbox connections.
  • Configuration can be promoted from Sandbox to Production with one click using the promote feature on the Connector dashboard.
  • If you are configuring a Sandbox and you do not have a Bronto Sandbox, you could leverage a small saved search in NetSuite to fully test the Connector integration, limiting the syncing to only a handful of contacts. This would allow you to take the connector out of test mode and see near real-time updates when records are changed.
  • We recommend using a Bronto Sandbox for complete testing.

Interpret Connector sync results

  • When Connector is out of test mode, the progress indicator and execution results are available in the Import Schedule for Order and Contact modules.

    This includes progress of connector based a total of all applicable available records synced, as of the last run of the sync.

  • Saved searches, such as a date range filter, can limit the total number of records presented.
  • Records with Soft opt-out or Confirmed opt-out statuses are synced to Bronto as Transactional contacts. The totals of synced records in connector results include these contacts.
  • Results include duplicate (records in NetSuite that have the same email address) or suppressed contacts (known invalid email addresses).
  • Note: If you see a large number of suppressed contacts, this could indicate based on bad field mapping with wrong data type selected.

Common reasons for Connector sync failure

  • Leaving fields unmapped (or mapped fields being deleted from Bronto) can cause the import process to fail.
  • Lists used in the Connector that have been removed from Bronto before being removed from the Connector configuration. Please contact support if you suspect this issue.
  • The most common cause of this is the client removes or deactivates the “Full Access” role from the NetSuite Employee record that was used to initiate the connection.
  • Incorrect data types or mapping to order/line item fields that do not exist in NetSuite.
  • Mass email address duplication. A large number of contacts (50+) sharing the same email address can slow down the import process considerably. Try removing duplications in NetSuite or use Saved Searches to exclude contacts from syncing.

Redirect to cart on SiteBuilder- Recommended Setting

  • If the you have a Site Builder storefront, the Bronto integration for cart recovery is not able to send updated cart line item information on the shopping portion of the site (product pages, category pages, home page, etc.). It is recommended for you to redirect contacts to the cart page when an item is added to the cart. This setting can be found in NetSuite by going to Setup > SiteBuilder > Set Up Web Site. Click Edit for the relevant site if multiple sites are present, then click on the Shopping tab.

Avoid duplicate orders when using Bronto Integrations third-party storefronts

If you are using a third-party storefront, such as Magento, Salesforce Commerce Cloud, or otherwise, where you have deployed our Commerce JavaScript for conversion tracking purposes, you should take measures to make sure that you do not duplicate orders in Bronto. Below are the two most common ways to accomplish this:
  • Use a Saved Search filter in the order settings, where the Saved Search in NetSuite excludes orders from the website altogether.
  • Create a custom transaction body field in NetSuite that will contain a dynamic (coalesced) value for the order id on the transaction records. Do not configure to store values in this field. This method allows you to not limit the transactions imported, but rather insure that the Order Number value will match the customer order id values provided in your Storefront integration.
    • Example formula: COALESCE({custbody_magento_id}, {tranid})
    • Map this field for Order ID in Connector Orders configuration appropriately.

Registration Issues

The reasons why a Connector instance will not initially register, or has stopped syncing, include:
  • Incorrect user name or password
  • Full access role is not assigned to integration user
  • All required features are not enabled
  • Give Access is not selected on the integration user account
  • IP login restrictions
  • Bronto bundle is not installed
  • Wrong tokens or Account ID

SSL Certificate and custom checkout domains prerequisite

In order to properly track email conversions on completed orders in Bronto for Suite Commerce and Site Builder commerce integrations, we require that the checkout domain match the domain of the website, to allow our tracking scripts to set and transfer first party cookies to the checkout.

NetSuite makes this process self-service through the documentation below, but does require technical expertise with managing DNS records and SSL certificates. You should contact your NetSuite account manager to ensure your site is able to use this feature, and if you will require further support or professional services.

For this functionality to work correctly, set up a custom checkout subdomain in NetSuite, as well as purchase and install a SSL certificate.

In recent releases of SuiteCommerce Advanced, you also have the option of using a “Single Secure Domain for Shopping and Checkout which will also require an SSL certificate but has an added benefit of running the shopping site under HTTPS, which is advantageous for SEO purposes. This might require additional testing and validation that the shopping portion of the site operates correctly using HTTPS.

Find Bronto Connector related logging in NetSuite

  • NetSuite Sync processes in Script Execution Logs: Customization > Scripting > Script Execution Logs
  • NetSuite Bronto registration and discovery process: Setup > Integration > Web Services Usage Log.