KnoCommerce
KnoCommerce
Overview
The KnoCommerce connector enables teams to bring post-purchase survey data into their analytics stack, allowing them to understand why customers convert, not just that they converted.
KnoCommerce surveys typically capture:
- Customer intent and motivation
- Attribution beyond last-click
- Post-purchase feedback tied to orders and customers
By replicating this data into your warehouse, the connector allows you to blend survey insights with transactional, marketing, and behavioral datasets.
Authentication Credentials
To connect KnoCommerce with Daton, you need to provide API credentials generated from your KnoCommerce account.
Required Fields
Field |
Description |
|---|---|
Client ID |
KnoCommerce API Client ID |
Client Secret |
KnoCommerce API Client Secret |
How to Obtain KnoCommerce API Credentials
Follow these steps in your KnoCommerce account:
- Log in to your KnoCommerce dashboard
- Navigate to Settings
- Open the API Access tab
- Click New API Client

- Enter App Url as Daton - https://daton.sarasanalytics.com/
- Provide Permissions - Surveys, Questions, Responses
- Click Create Api Client

- Copy the generated Client ID and Client Secret
- Paste these values into the Daton connector setup screen
Supported Tables
Table Name |
Description |
Load Type |
|---|---|---|
benchmark_questions |
Standard benchmark survey questions |
Full Load |
surveys |
Surveys created in KnoCommerce |
Full Load |
responses |
Customer responses to surveys |
Incremental |
Table-Level Details
1. benchmark_questions
Description
Contains benchmark questions provided by KnoCommerce.
Endpoint
GET https://app-api.knocommerce.com/api/rest/questions/benchmarks
Load Behavior
- Full load only
- No pagination
- Data is loaded completely on each run
Primary Key - id
Schema
Column Name |
Data Type |
Mode |
Description |
|---|---|---|---|
id |
STRING |
NULLABLE |
Unique identifier for the benchmark question |
label |
STRING |
NULLABLE |
Short label for the question |
title |
STRING |
NULLABLE |
Full question title |
2. surveys
Description
Contains metadata and structure of surveys including questions and answer formats.
Endpoint
GET https://app-api.knocommerce.com/api/rest/surveys
Load Behavior
Full load
- Page-based pagination (page, pageSize)
- Nested objects supported (questions, values, formats)
⚠️ Design Decision: Full Load
Reasoning
- The surveys API supports only a range filter on createdAt
- Updates to surveys (question edits, status changes) may not be reliably captured via incremental logic
- To avoid missing updates, surveys are always fully reloaded
- This ensures correctness over efficiency.
Primary Key - id
Schema
Column Name |
Data Type |
Mode |
Description |
|---|---|---|---|
id |
STRING |
NULLABLE |
Unique survey identifier |
accountId |
STRING |
NULLABLE |
KnoCommerce account identifier |
createdAt |
TIMESTAMP |
NULLABLE |
Survey creation timestamp |
updatedAt |
TIMESTAMP |
NULLABLE |
Last updated timestamp |
title |
STRING |
NULLABLE |
Survey title |
status |
STRING |
NULLABLE |
Survey status (e.g., active/inactive) |
questions |
RECORD |
REPEATED |
Survey questions (nested) |
3. responses
Description
Contains individual customer responses to surveys, including order and attribution details.
Endpoint
GET https://app-api.knocommerce.com/api/rest/responses
Load Behavior
- Incremental load using updatedAt
- Page-based pagination
- All timestamps are processed in UTC
⚠️ Design Decision: No Lookback Window
Assumption
- The KnoCommerce Responses API updates records in near real-time
- Late-arriving updates are not expected
Result
- No lookback window is applied
- Each run fetches only the precise incremental window based on updatedAt
- In case of delay reported, we can add lookback logic to the table
Primary Key - id
Schema
Column Name |
Data Type |
Mode |
Description |
|---|---|---|---|
id |
STRING |
NULLABLE |
Unique response identifier |
account_id |
STRING |
NULLABLE |
KnoCommerce account ID |
survey_id |
STRING |
NULLABLE |
Associated survey ID |
created_at |
TIMESTAMP |
NULLABLE |
Response creation time |
updated_at |
TIMESTAMP |
NULLABLE |
Response last update time |
completed_at |
TIMESTAMP |
NULLABLE |
Completion timestamp |
time_spent |
STRING |
NULLABLE |
Time spent on survey |
customer_id |
STRING |
NULLABLE |
Customer identifier |
customer_email |
STRING |
NULLABLE |
Customer email |
customer_phone |
STRING |
NULLABLE |
Customer phone |
customer_shop |
STRING |
NULLABLE |
Customer shop/domain |
customer_lifetime_spent |
NUMERIC |
NULLABLE |
Lifetime spend value |
customer_lifetime_orders |
NUMERIC |
NULLABLE |
Lifetime order count |
days_to_conversion |
NUMERIC |
NULLABLE |
Days until conversion |
customer_order_index |
NUMERIC |
NULLABLE |
Order sequence index |
order |
RECORD |
REPEATED |
Order details |
response |
RECORD |
REPEATED |
Question-level responses |
Error Handling & Retries
The connector automatically handles:
- HTTP 429 (rate limiting)
- HTTP 5xx server errors
- Token expiration
Retries use exponential backoff with controlled sleep intervals.