Does Cartful integrate with Segment?
Yes. Cartful integrates with Segment using Studio’s plugin framework, which gives teams full control over which events, properties, and Segment call types are sent. Clients actively use this integration path in production.
Why Studio’s plugin framework
Segment is a routing layer. Teams use it differently depending on their stack, their downstream destinations, and their data contracts. A fixed native integration would force a one-size-fits-all mapping that most Segment teams would need to customize anyway.
Studio’s plugin framework is the intended approach for tools like Segment. It uses the same trigger system and event model as Cartful’s native analytics plugins (GA4, GTM, Adobe Analytics), but gives you full control over the SDK calls, event names, and properties. The result is an integration that matches your Segment workspace exactly rather than requiring you to work around a fixed mapping.
How the integration works
Cartful’s Studio platform includes two plugin types that route data to Segment:
Custom JavaScript Integration (client-side)
Runs in the browser. You implement Segment SDK calls (analytics.track(), analytics.identify()) within the plugin and configure which Studio events trigger it. This path has full access to the complete set of quiz events.
Available trigger events: quiz start, quiz complete, start over, step enter, step leave, step skip, email submit, email skip, product view, add to cart, answer change, recommendations loaded, and per recommendation loaded.
Custom API Integration (server-side)
Sends events to Segment’s HTTP API from the server. This path only fires when the shopper completes the email modal, so it has a more limited event scope than the client-side approach.
What you control
Everything. Cartful does not prescribe which Segment calls to make, what events to name them, or which properties to include. You implement the mapping within your plugin:
- Call types:
analytics.track(),analytics.identify(), or both - Event names: whatever your Segment workspace expects
- Properties and traits: mapped from the quiz event parameters available in Studio
- Identity resolution: if needed, you implement it in your plugin (Cartful does not call
analytics.identify()natively)
How it works (setup)
- Create a Custom JavaScript Integration in Studio.
- Implement Segment SDK calls within the plugin:
analytics.track()for events,analytics.identify()for traits, or both. - Configure triggers: select which Studio events fire the plugin.
- For server-side (optional): create a Custom API Integration that sends to Segment’s HTTP API. This only fires on email modal completion.
- Test: run a quiz session and confirm events appear in the Segment debugger.
If the Segment SDK is already loaded on the page outside of Studio, you can reference it from within your Custom JavaScript Integration. The trigger just needs to be defined inside Studio.
Retake behavior
Each trigger event fires independently based on its configuration. When a shopper retakes a quiz, the relevant events fire again naturally (quiz start, quiz complete, step enter, etc.). There is no special retake handling or deduplication. This is inherent in the event model.
Good to know
- Plugin-based. The integration is built using Studio’s Custom JavaScript Integration or Custom API Integration rather than a fixed native connector. This is by design. It gives you full control over the mapping.
- Server-side scope. The Custom API Integration only fires on email modal completion. For full event coverage, use the client-side approach.
- Identity resolution is yours. Cartful does not call
analytics.identify()natively. If you need it, you configure it in your plugin. Which means you control the identity logic rather than inheriting a default. - Segment SDK familiarity helps. Setup is faster if your team is already comfortable with Segment’s SDK and API conventions.
See: Integrations hub · Product