For the complete documentation index, see llms.txt. This page is also available as Markdown.

Best Practices

Export Contacts attributes alongside Contacts

The Contacts entity alone won't tell you what your custom fields mean. Always add Contacts attributes as a second source in the same data flow so you have field definitions handy.

Use multiple sources in one data flow for list-level contact exports

If you need contacts from several lists, add each list as a separate Contacts lists contacts source and use the Append transformation to combine them into one output table.

Join CRM deals with pipeline stages

CRM deals contain a stage ID, not a stage name. Add CRM pipeline stages as a second source and Join on stage ID to get human-readable stage names in your reports.

Whitelist IPs before connecting

Add Coupler.io's IPs (34.123.243.115 and 34.170.96.92) to your firewall or security group before you create a data flow. This prevents "connection refused" errors and saves troubleshooting time.

Data refresh and scheduling

Wait a few hours after a campaign send before syncing

Open and click metrics continue updating after a send. Scheduling a sync several hours post-send gives you more settled engagement data rather than preliminary counts.

Use a fixed start date for campaign history

Set your start date to the earliest campaign you care about and leave it fixed. This avoids re-pulling the same historical data unnecessarily on every sync.

Performance optimization

Separate high-volume contact exports from CRM syncs

If you have a large contact database, running it in the same data flow as CRM entities can slow things down or trigger rate limits. Keep contact-heavy and CRM-heavy flows separate.

Use Aggregate for campaign reporting

Instead of exporting every campaign row to a spreadsheet, use the Aggregate transformation to summarize metrics (e.g., total sends, average open rate by month) before writing to the destination.

Common pitfalls

Do

  • Add Contacts attributes as a companion source when exporting Contacts

  • Join CRM deals with pipeline stages for readable stage names

  • Verify an entity has data in Brevo before troubleshooting a missing-data issue in Coupler.io

  • Use Append to merge email and SMS campaign data into a single performance table

Don't

  • Use a restricted API key if you need access to CRM or account-level entities

  • Expect real-time accuracy on open/click rates immediately after a campaign send

  • Pull Contacts lists contacts without first confirming the target list has subscribers

Last updated

Was this helpful?