> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/marketing/chameleon/best-practices.md).

# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Start with Survey responses</strong></td><td>This entity contains the most granular user feedback data. Pull it first, then enrich it by joining with the Surveys entity to add question context and survey names.</td></tr><tr><td><strong>Join Surveys and Survey responses</strong></td><td>Survey responses alone don't include the question text. Use Coupler.io's Join transformation on <code>survey_id</code> to produce a complete, analysis-ready dataset.</td></tr><tr><td><strong>Use the filter parameter intentionally</strong></td><td>When querying segment-based experience data, set the filter to <code>tour</code>, <code>survey</code>, or <code>launcher</code> depending on what you need. Leaving it on the wrong default skews your results.</td></tr><tr><td><strong>Send open-ended responses to an AI destination</strong></td><td>Export survey responses to ChatGPT, Claude, or Gemini to automatically summarize or categorize free-text feedback — much faster than manual review.</td></tr></tbody></table>

## Data refresh and scheduling

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Use start and end dates together</strong></td><td>Setting both parameters gives you a precise sync window and avoids re-pulling records you've already processed. This is especially useful for survey responses where volume can be high.</td></tr><tr><td><strong>Schedule survey response syncs more frequently</strong></td><td>Survey responses accumulate faster than experience configuration data. Consider syncing responses daily while syncing entities like Tours or Segments weekly.</td></tr></tbody></table>

## Performance optimization

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Increase the record limit for large datasets</strong></td><td>The default limit of 50 records per page can make large syncs slow. Raise this in the source settings to reduce the number of API calls and speed up your data flow.</td></tr><tr><td><strong>Split high-volume entities into separate data flows</strong></td><td>If you're syncing Survey responses alongside many other entities, give Survey responses its own data flow. This prevents rate limit errors from blocking your other syncs.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Don't rely on the Changes entity alone to audit experience performance. It records who changed what, but not the outcome — always pair it with the relevant experience entity (Tours, Tooltips, etc.) for full context.
{% endhint %}

{% columns %}
{% column %}
**Do**

* Set a specific start date to scope your sync window
* Join Surveys and Survey responses before building reports
* Increase the record limit when working with high-volume entities
* Use Append to combine data from multiple Chameleon workspaces
  {% endcolumn %}

{% column %}
**Don't**

* Leave the record limit at the default 50 if you have hundreds of responses
* Forget that `finished_at` is null for incomplete survey responses — filter accordingly
* Use the same data flow for both high-frequency (responses) and low-frequency (config) entities
* Assume the filter parameter applies to all entities — it only affects segment-experience queries
  {% endcolumn %}
  {% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/marketing/chameleon/best-practices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
