BigCommerce

Integration

The following is a guide on how to integrate BigCommerce with Bloomreach Engagement.

With the BigCommerce integration, you can connect Bloomreach Engagement with your BigCommerce store, analyze BigCommerce data, execute omnichannel marketing campaigns, and use Bloomreach Engagement’s AI-driven capabilities on your BigCommerce store.

This integration saves costs on integration projects and radically speeds up the time needed to integrate. Without the native integration with BigCommerce, you would need to develop your own solution - invest in a system integrator partner, agency, or in-house development.

🚧

BigCommerce availability in BETA

This feature is currently available in the BETA version, but we are working on its improvement.

Add the integration

  1. Go to Data & Assets > Integrations.
  2. Press + Add new integration and add the BigCommerce integration.
  3. Copy the Integration URL.
  4. Go to BigCommerce Marketplace and search for the Bloomreach Discovery app.

🚧

Warning

The BigCommerce Marketplace also features a Bloomreach Engagement app, but it is still in development. For the time being, please continue with the Bloomreach Discovery app.

  1. Install the Bloomreach Discovery app.
  2. Go to the Bloomreach Discovery app:
    1. Go to Engagement settings and paste the Integration URL,
    2. Activate integration,
    3. Activate storefront data layer tracking.
  3. Go to your Bloomreach Engagement project and go to Tag Manager.
  4. Create and customize Data Layer helper tags from templates to track frontend tracking or use Google Tag Manager.

After integration setup, Bloomreach Engagement downloads all historical data (data up to that point) and then tracks new data (changes, additions, etc.) from the BigCommerce API. The app also exposes identification and other useful data in the data layer (works on the default storefront Stencil theme).

📘

Note

In order to be able to install Bloomreach app, you have to be logged in as the Store Owner. If the link above does not work for you, please replace your store ID and use this link instead.

Integration specifications

Initial data load

  • customer base (customer and attributes)
  • subscriber base (email, consents)
  • orders and line items (created orders)
  • product catalogs (products and variants)

Regularly updated data

The following webhooks are regularly updated even after the initial data load:

  • product created: "intg-bigcommerce-webhook-received/product/created"
  • product updated: "intg-bigcommerce-webhook-received/product/updated"
  • product deleted: "intg-bigcommerce-webhook-received/product/deleted"

Events loaded from BigCommerce

  • purchase
  • purchase_item
  • consent

Customer attributes loaded from BigCommerce

  • personal information

Near real-time webhooks (2 minutes)

Exponea subscribes and listens for webhooks from BigCommerce API:

  • customer updates (create, update, delete)
  • new orders (order placed)
  • cart updates
  • consents changes (subscriber create, delete)

Web tracking

  • datalayer is populated with
  • identification (email_id, customer_id)
  • view_item event data

Required project identifiers setup:

  • email_id - Hard ID, lowercase, trim; email address is the primary identifier for customers in Bloomreach Engagement. If there are multiple BigCommerce customers/subscribers/guest orders with the same email address, there is one customer for Bloomreach Engagement.
  • customer_id - Hard ID - numeric BigCommerce Customer identifier.
  • subscriber_id- Soft ID - numeric BigCommerce Subscriber identifier.
  • cart_id - Soft ID - unique cart identifier that is used to merge web and webhook tracking.
  • cookie - Soft ID - device unique cookie identifier (i) standard cookie identifier that is used in web tracking.

Configure the integration

Add tracking

BigCommerce integration is enabled by default on multi-tenant instances. For other instances, please ask the support team to activate it.

JS SDK must be added manually by editing the theme files or Google Tag Manager. Actual tracking can be added manually by Data Layer helper Tag Manager:

  1. Go to Tag Manager > Create new.
  2. From the templates, select the dataLayer helper.
  3. Update lines 126 and 127 by pasting the following lines:

if(m.event_name==="identification") exponea.identify(m.event_properties.customer_ids);else exponea.track(m.event_name,m.event_properties);

  1. Go to the Setting tab.
  2. Select General Consent and priority 999.
  3. Save and Start the Datalayer.

Integrate the web

  1. Go to Settings > Web integration.
  1. Tick the action Track "page_visit". Track session_start, session_end should
    be ticked by default.
  1. Press Copy to clipboard.
  2. Now, you can decide if you want to use the BigCommerce Script Manager or Google Tag
    Manager. Do not use both.

Enable Bigcommerce Script Manager

  1. Go to the BigCommerce Store (Administration) > Storefront > Script Manager.
  2. Check if bloomreach-engagement-datalayer.js is part of the Installed Scripts listing. If not, try restart the datalayer helper.
  3. Press Create a Script.
  4. Fill in the Name of the script. For example, Bloomreach Snippet.
  5. Select Head location on page.
  6. Select all pages where the script should be added.
  7. Leave the script category default, or select it based on your preferences.
  8. To select the script type, tick Script and paste the Web Integration snippet.
  9. Press Save.

Check frontend tracking

  1. Go to BigCommerce Store (Administration) > View Store and accept the cookies.
  2. Open the Exponea console Chrome extension.
  3. The following events and attributes should be tracked:
    1. page_visit,
    2. session_ping,
    3. cookie.
  4. Copy the cookie.
  5. In Bloomreach Engagement, go to Data & Assets > Customers.
  6. Paste the cookie into the search bar and press the search button.
  7. Click on the filtered line and check the customer event tracking.
  8. Implement this via Google Tag Manager as extensively described in our guide.
    1. Tag Configuration > Triggering and tick Initialization - All Pages.
  9. Go to the BigCommerce Store (Administration) > Advanced Setting > Google Analytics.
    1. Paste the Installation Google Tag into the field tracking code and press Connect.

Lastly, check if the frontend tracking works properly in the same way as above.

You should know

Customer anonymization must be done manually in the Bloomreach Engagement app. BigCommerce does not have a concept of anonymization to comply with CCPA/GDPR. BigCommerce admins are advised to delete private field values in the BigCommerce Admin UI when such a request comes. The integration will transfer these private customer attributes' empty values to Bloomreach Engagement customer properties, however, Customers on the Bloomreach Engagement side will not be anonymized as per Bloomreach Engagement rules. Anonymization triggers when a customer is deleted on the BigCommerce side. Anonymization can be always triggered manually for a specific customer in the Bloomreach Engagement app Customer UI. BigCommerce admins can read more on Implementing CCPA with BigCommerce - Deleting Personal Information.

Guest orders are tracked as purchase events into a customer profile identified by email address. These are not automatically anonymized at any point and you can set up an automated scenario to anonymize or anonymize these guest customers manually.

When BigCommerce admin deletes ALL subscribers manually, it will not revoke consents on the Bloomreach Engagement side in their customer profiles. As far as we know, this is a design decision on the BigCommerce side: BigCommerce is not sending a webhook about full subscriber list deletion. The workaround is a manual revocation of all consents on the Bloomreach Engagement side.

Anonymization scenario is not part of the integration and shall be created by hand: Repeat daily => Condition: subscriber_id has value AND customer_id has no value AND customer bigcommerce consent is not valid AND last bigcommerce consent timestamp is older than X days => anonymize customer

The integration does not have customizable backend tracking, which means that only customer attributes and events in the Tracking document are available.

Multiple stores in one project are not supported. BigCommerce customer ID is not unique and since the customer_id is a Hard ID, importing from multiple BigCommerce stores would cause customer collisions.