> 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/email/convertkit/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>Use a focused start date</strong></td><td>Set your start date to the beginning of your current growth period rather than your account creation date. This keeps syncs fast and your destination tidy — especially important for accounts with large subscriber histories.</td></tr><tr><td><strong>Build a subscriber master view</strong></td><td>Add Subscribers, Tag subscribers, and Form subscribers as separate sources in one data flow, then use Join transformations to create a single enriched subscriber record. This gives you segmentation and acquisition data in one place.</td></tr><tr><td><strong>Separate purchase tracking</strong></td><td>Keep Purchases in its own data flow with its own destination sheet or table. Purchase records have a different refresh cadence than subscriber data and benefit from clean, dedicated storage for revenue analysis.</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>Daily refresh for active campaigns</strong></td><td>If you're running active broadcast campaigns or growing your list quickly, a daily refresh gives you up-to-date subscriber counts and new purchase records without hammering the API.</td></tr><tr><td><strong>Weekly refresh for evergreen data</strong></td><td>Sequences, forms, tags, and email templates change infrequently. A weekly sync is sufficient for these entities and keeps your data flow runs lean.</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>Don't pull all entities in one data flow</strong></td><td>Large accounts can slow down significantly when syncing Subscribers and all association entities together. Split high-volume entities (Subscribers, Purchases) from metadata entities (Tags, Forms, Sequences) into separate flows.</td></tr><tr><td><strong>Use Aggregate for revenue summaries</strong></td><td>Rather than exporting every purchase record to a reporting sheet, use Coupler.io's Aggregate transformation to sum purchase totals by product or month. This keeps destination files readable and report-ready.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Don't confuse the **Custom fields** entity with actual custom field values. It only returns field definitions. Subscriber-level values live inside the **Subscribers** entity — missing this is a common source of confusion when building subscriber profiles.
{% endhint %}

{% columns %}
{% column %}

### Do

* Join Form subscribers with Subscribers to get full subscriber details per form
* Use the `state` field to filter for active subscribers in your reports
* Test with a manual run on a short date range before scheduling large syncs
  {% endcolumn %}

{% column %}

### Don't

* Expect open rates or click data from the Broadcasts entity — Kit's API doesn't provide engagement metrics
* Use the public API key instead of the API Secret — it won't authenticate correctly
* Pull the full subscriber history on every scheduled run if your list has grown significantly
  {% 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/email/convertkit/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.
