Skip to main content

Order status deduplication

BigCommerce fires both store/order/refund/created and store/order/statusUpdated when a refund is processed. The connector intentionally ignores statusUpdated events where the new status is Refunded (4) or Partially Refunded (14). The refund/created event is the authoritative source for refund processing. If your webhook logs show statusUpdated being silently dropped for refunds, this is expected.

Order processing is asynchronous

Orders are not sent to Engage the moment the webhook arrives. The connector stages the order and processes it asynchronously. This means there is a small delay between a BigCommerce order event and the order appearing in Engage. If processing fails, the event is retried automatically up to 10 times. If all retries are exhausted, the order record is marked as failed and requires manual investigation.

Product tracking retries

If the Collect API returns a 5xx error when receiving a product view event, the connector retries the request up to 3 times. If all retries fail, the event is dropped. Cart tracking does not use the same retry mechanism — check your internal error logs if cart events are not appearing in Engage.

Multi-channel configuration is required

If a BigCommerce store uses multiple sales channels, each channel must have its own configuration and site record. A webhook that cannot be matched to a specific channel is dropped. For store/customer/created events that don’t carry a channel_id, the connector fetches the customer from BigCommerce to resolve the channel — this adds one extra API call per event.

Phone number validation

Phone numbers are validated against the customer’s country code. Numbers that fail validation are stored as null rather than saved in an invalid format. If a customer has no address on record, the country code is unknown and the phone number is omitted.

Category name limit for product tracking

When resolving category names for a product view event, the connector uses the last 5 category IDs from the product’s category list (most specific). The resulting joined string is capped at 255 characters. If the product has no categories in BigCommerce, the connector falls back to extracting a category name from the product URL path.

Cart and product tracking with anonymous visitors

The storefront tracking payloads accept a contactId field. If the visitor is anonymous (no contactId), the event is still forwarded to Engage — Engage handles anonymous session tracking on its end. The store/cart/converted webhook is used to retroactively link an anonymous cart to a contact when the customer completes checkout.

Webhook self-healing does not recover missed events

The webhook health job re-activates inactive webhooks every five minutes, but it does not replay events that were missed while a webhook was inactive.