BigCommerce
Sync customer and product data from your warehouse to BigCommerce. Keep your BigCommerce store records enriched with the latest data from your data warehouse using the BigCommerce REST Management API v3.
Prerequisites
- A BigCommerce store (Standard, Plus, Pro, or Enterprise plan)
- An API account created in the BigCommerce control panel with an access token
- The API account must have the following OAuth scopes:
- Customers:
modifyscope for/customers - Products:
modifyscope for/catalog/products(if syncing products)
- Customers:
Authentication
API Access Token
- In your BigCommerce control panel, go to Settings > API > API accounts
- Click Create API Account > Create V2/V3 API Token
- Give the account a name (e.g., “Zeotap Integration”)
- Under OAuth Scopes, set the following:
- Customers:
modify - Products (if needed):
modify - Store Information:
read-only(used for connection testing)
- Customers:
- Click Save
- Copy the Access Token, Client ID, and Store Hash from the confirmation dialog
- Paste the Access Token into the Access Token field in Zeotap
- Paste the Store Hash into the Store Hash field in Zeotap
Important: The access token is only shown once when you create the API account. Store it securely. If you lose it, you must create a new API account to generate a new token.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Store Hash | Text | Yes | Your BigCommerce store hash (found in the API path: /stores/{store_hash}/v3/). You can find this in Settings > API > API accounts or in your store’s API URL. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The BigCommerce resource to sync to: Customers or Products. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | Yes |
| Mirror | — |
Audience Sync Modes
BigCommerce does not have a native list or segment membership API, so audience sync modes are not supported. Use standard sync modes to create or update customer and product records.
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Object | Required Fields |
|---|---|
| Customers | email, first_name, last_name |
| Products | name, type, weight, price |
Default Destination Fields
Customer Fields
| Field | Type | Description |
|---|---|---|
email | string | Customer email address |
first_name | string | Customer first name |
last_name | string | Customer last name |
company | string | Customer company name |
phone | string | Customer phone number |
Product Fields
| Field | Type | Description |
|---|---|---|
name | string | Product name |
type | string | Product type (physical or digital) |
sku | string | Product stock keeping unit |
price | number | Product price |
weight | number | Product weight |
description | string | Product description (HTML allowed) |
How It Works
-
Customer Sync (Batch): Zeotap sends customers in batches of up to 10 records per API call using the BigCommerce v3 Customers endpoint. For insert mode, customers are created via
POST /v3/customers. For update and upsert modes, customers are sent viaPUT /v3/customers, which performs an upsert — updating existing records matched by ID and creating new ones if no match is found. -
Product Sync (Individual): Products are synced one at a time using the Catalog Products endpoint. For insert mode, products are created via
POST /v3/catalog/products. For update mode, products are updated viaPUT /v3/catalog/products/{id}. Upsert mode updates by product ID if available, otherwise creates a new product. -
Error Handling: Each batch (for customers) or individual request (for products) is processed independently. Failed rows are reported with specific error messages from the BigCommerce API. Transient errors (rate limits, server errors) are retried with exponential backoff.
-
Primary Key Handling: For update and upsert modes, the primary key should be the BigCommerce record ID (numeric). For customers, this is the customer ID. For products, this is the product ID.
Rate Limits
BigCommerce uses a request-based rate limiting system:
| Plan | Requests per 30 seconds | Requests per hour |
|---|---|---|
| Standard | 150 | 20,000 |
| Plus | 150 | 20,000 |
| Pro | 450 | 60,000 |
| Enterprise | Custom | Custom |
Additional limits:
- Maximum 400 concurrent requests per store
- Maximum 10 customers per batch request
- Products are synced individually (1 per request)
Zeotap automatically handles rate limiting with exponential backoff when the API returns 429 (Too Many Requests) responses.
Best Practices
- Use customer batch operations to minimize API calls — Zeotap automatically batches customers in groups of 10
- Map only required fields plus any fields you need to update to reduce payload size
- Use upsert mode for customers to avoid duplicate records — BigCommerce matches by customer ID on PUT requests
- Schedule syncs during off-peak hours if you are on a Standard or Plus plan to avoid rate limit contention with other integrations
- Set the product type correctly — use
physicalfor tangible goods anddigitalfor downloadable products - Include weight for physical products — BigCommerce requires a weight value for physical products, even if it is
0
Troubleshooting
Authentication failed: invalid or expired access token
Verify the API access token in your BigCommerce API account settings. If the token was regenerated or the API account was deleted, you must create a new API account and update the token in Zeotap.
Store not found (404)
Verify the store hash is correct. You can find it in Settings > API > API accounts or in the URL when accessing your store’s API. The store hash is the alphanumeric string in the API path (e.g., abc123def in api.bigcommerce.com/stores/abc123def/v3/).
Customer email already exists
BigCommerce requires unique email addresses for customers. When using insert mode, you may get duplicate email errors. Switch to upsert mode to update existing customers with the same email address, or ensure your source data contains only unique email addresses.
Missing required fields for customer creation
Customer creation requires email, first_name, and last_name. Verify these fields are mapped in your field mapping. All three must have non-empty values.
Missing required fields for product creation
Product creation requires name, type, weight, and price. For physical products, weight must be a numeric value (can be 0). The type field must be either physical or digital.
Rate limiting (429 errors)
Zeotap automatically retries rate-limited requests with exponential backoff. If you see persistent rate limit errors, consider reducing sync frequency or spacing out syncs. Check your BigCommerce plan’s rate limit quotas and ensure other integrations are not consuming excessive API capacity.
Product update returns 404
When using update or upsert mode for products, the primary key must be a valid BigCommerce product ID. Verify the product exists in your BigCommerce store and that the primary key column in your source data contains valid numeric product IDs.
Insufficient API scopes
If API calls fail with permission errors, verify your API account has the correct OAuth scopes: modify for Customers and/or Products. You may need to create a new API account with the correct scopes, as BigCommerce does not allow editing scopes on existing accounts.