Best Practices

Start with Survey responses

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.

Join Surveys and Survey responses

Survey responses alone don't include the question text. Use Coupler.io's Join transformation on survey_id to produce a complete, analysis-ready dataset.

Use the filter parameter intentionally

When querying segment-based experience data, set the filter to tour, survey, or launcher depending on what you need. Leaving it on the wrong default skews your results.

Send open-ended responses to an AI destination

Export survey responses to ChatGPT, Claude, or Gemini to automatically summarize or categorize free-text feedback — much faster than manual review.

Data refresh and scheduling

Use start and end dates together

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.

Schedule survey response syncs more frequently

Survey responses accumulate faster than experience configuration data. Consider syncing responses daily while syncing entities like Tours or Segments weekly.

Performance optimization

Increase the record limit for large datasets

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.

Split high-volume entities into separate data flows

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.

Common pitfalls

triangle-exclamation

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

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

Last updated

Was this helpful?