> 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.md).

# Kit

Connect Kit to Google Sheets, BigQuery, or AI tools via Coupler.io. Export subscribers, broadcasts, sequences, and purchases automatically.

Kit (formerly ConvertKit) is an email marketing platform built for creators — newsletters, automated sequences, opt-in forms, and subscriber management all in one place. It's widely used by bloggers, course creators, and independent publishers to grow and monetize their audiences.

Connecting Kit to Coupler.io lets you pull your subscriber, broadcast, and purchase data into any destination on a schedule — without exporting CSV files manually.

**Why connect Kit to Coupler.io?**

* Analyze subscriber growth, form performance, and sequence engagement alongside data from other tools
* Export purchase records to spreadsheets or a data warehouse for revenue tracking
* Feed subscriber and broadcast data into AI tools like ChatGPT, Claude, or Gemini for audience analysis
* Combine Kit data with CRM or e-commerce sources using Join or Append transformations

## Prerequisites

* An active Kit account (any plan)
* Your Kit API key (found in **Settings → Advanced → API**)
* A Coupler.io account

## Quick start

{% hint style="success" %}
Start with the **Subscribers** entity to get a full picture of your audience, then add **Broadcasts** or **Purchases** as additional sources in the same data flow.
{% endhint %}

{% stepper %}
{% step %}
**Create a new data flow in Coupler.io.** Log in to Coupler.io, go to the **Data flows** section, and click **Add data flow**. Search for **Kit** as your source.
{% endstep %}

{% step %}
**Enter your Kit API key.** In the source settings, paste your API key. You can find it in your Kit account under **Settings → Advanced → API**. Make sure you copy the API Secret (not the public key) if you need write access, but the standard API key works for data exports.
{% endstep %}

{% step %}
**Select an entity.** Choose what data you want to export — for example, **Subscribers**, **Broadcasts**, or **Purchases**. Set a start date using the date picker to limit how far back Coupler.io pulls data.
{% endstep %}

{% step %}
**Choose a destination.** Select where you want your Kit data to land — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like ChatGPT or Claude.
{% endstep %}

{% step %}
**Run the data flow.** Click **Run** to execute a manual sync. Once it completes successfully, your data will appear in the destination and you'll be able to set up a schedule.
{% endstep %}
{% endstepper %}

## Available entities

| Entity               | Description                                    |
| -------------------- | ---------------------------------------------- |
| Subscribers          | All email subscribers in your Kit account      |
| Broadcasts           | One-time email campaigns sent to subscribers   |
| Sequences            | Automated email sequences                      |
| Forms                | Opt-in forms used to collect subscribers       |
| Tags                 | Labels used to segment subscribers             |
| Form subscribers     | Subscribers linked to specific forms           |
| Sequence subscribers | Subscribers enrolled in specific sequences     |
| Tag subscribers      | Subscribers assigned to specific tags          |
| Purchases            | Transaction and purchase records               |
| Segments             | Dynamic subscriber groups                      |
| Custom fields        | Custom data fields for subscriber profiles     |
| Email templates      | Reusable templates for campaigns and sequences |
| Current account      | Account-level information                      |

## Kit data overview

Kit exposes a broad set of entities through its API, covering your audience, campaigns, automations, and commerce data. Here's what each entity contains and how you can use it.

## Entities summary

| Entity               | What it contains                                            |
| -------------------- | ----------------------------------------------------------- |
| Subscribers          | Subscriber profiles, status, tags, and signup dates         |
| Broadcasts           | Campaign metadata, send dates, and subject lines            |
| Sequences            | Sequence names, IDs, and creation dates                     |
| Forms                | Form names, types, embed codes, and creation dates          |
| Tags                 | Tag names and IDs                                           |
| Form subscribers     | Subscriber-to-form associations                             |
| Sequence subscribers | Subscriber-to-sequence associations                         |
| Tag subscribers      | Subscriber-to-tag associations                              |
| Purchases            | Transaction IDs, product names, amounts, and subscriber IDs |
| Segments             | Segment names, IDs, and creation dates                      |
| Custom fields        | Field keys, labels, and creation dates                      |
| Email templates      | Template names, IDs, and creation dates                     |
| Current account      | Account name, plan, and primary email                       |

## Subscribers

#### Subscriber fields

| Field          | Description                                  |
| -------------- | -------------------------------------------- |
| id             | Unique subscriber ID                         |
| first\_name    | Subscriber's first name                      |
| email\_address | Email address                                |
| state          | Subscription status (active, inactive, etc.) |
| created\_at    | Date the subscriber was added                |
| fields         | Custom field values for this subscriber      |
| tags           | Tags assigned to the subscriber              |

## Broadcasts

#### Broadcast fields

| Field         | Description                                  |
| ------------- | -------------------------------------------- |
| id            | Unique broadcast ID                          |
| created\_at   | Date the broadcast was created               |
| subject       | Email subject line                           |
| description   | Internal description or label                |
| content       | Email body content                           |
| public        | Whether the broadcast is publicly accessible |
| published\_at | Date the broadcast was sent                  |

## Purchases

#### Purchase fields

| Field           | Description                            |
| --------------- | -------------------------------------- |
| id              | Unique purchase ID                     |
| subscriber\_id  | ID of the purchasing subscriber        |
| product\_id     | ID of the purchased product            |
| product\_name   | Name of the product                    |
| purchase\_total | Total transaction amount               |
| currency        | Transaction currency                   |
| status          | Purchase status (paid, refunded, etc.) |
| created\_at     | Date of the transaction                |

## Forms

#### Form fields

| Field       | Description                           |
| ----------- | ------------------------------------- |
| id          | Unique form ID                        |
| name        | Form name                             |
| type        | Form type (embed, landing page, etc.) |
| format      | Visual format of the form             |
| embed\_js   | JavaScript embed code                 |
| created\_at | Date the form was created             |

## Tags and segments

#### Tag fields

| Field       | Description              |
| ----------- | ------------------------ |
| id          | Unique tag ID            |
| name        | Tag name                 |
| created\_at | Date the tag was created |

#### Segment fields

| Field       | Description                  |
| ----------- | ---------------------------- |
| id          | Unique segment ID            |
| name        | Segment name                 |
| created\_at | Date the segment was created |

## Common data combinations

* **Subscribers + Tag subscribers** — Join these to see which tags each subscriber holds, useful for segmentation audits
* **Subscribers + Purchases** — Join on subscriber ID to build a revenue-per-subscriber view
* **Form subscribers + Forms** — Join to analyze which forms drive the most signups
* **Broadcasts + Subscribers** — Combine to track campaign reach over time

## Use cases by role

{% tabs %}
{% tab title="Content creators" %}

* Track subscriber growth over time by exporting the Subscribers entity regularly
* Monitor which opt-in forms convert best by combining Forms and Form subscribers
* Review broadcast history to see which subject lines you've used and when campaigns went out
  {% endtab %}

{% tab title="Finance teams" %}

* Export Purchases data to Google Sheets or BigQuery to track product revenue and refund rates
* Join Purchases with Subscribers to identify your highest-value audience segments
* Use Aggregate transformations to sum purchase totals by product or time period
  {% endtab %}

{% tab title="Marketing analysts" %}

* Combine Tag subscribers with Subscribers to analyze segment sizes and overlap
* Export Sequences data to map out automation coverage across your audience
* Feed subscriber and broadcast data into AI tools like ChatGPT or Claude for audience insights
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* The **start\_date** parameter controls how far back Coupler.io fetches data — use the date picker to avoid pulling years of historical records unnecessarily
* The **Form subscribers**, **Sequence subscribers**, and **Tag subscribers** entities return association records, not full subscriber profiles — join them with the **Subscribers** entity for enriched data
* **Custom fields** returns field definitions (keys and labels), not the values — subscriber-level custom field values appear inside the **Subscribers** entity under the `fields` object
* Kit's API does not return per-broadcast engagement metrics (opens, clicks) — those must be viewed inside the Kit dashboard

## Kit common issues

### Connection issues

<details>

<summary>My API key is rejected when setting up the data flow</summary>

Make sure you're using the correct key. In Kit, go to **Settings → Advanced → API** and copy the **API Secret** — not the shorter public API key. The API Secret is the one Coupler.io needs for data access. Paste it carefully with no leading or trailing spaces.

</details>

<details>

<summary>The data flow connects but returns no data</summary>

Check your **start date** setting. If it's set to a future date or a very recent date with no activity, the response will be empty. Use the date picker to set a start date that covers a period where you know data exists — for example, your account creation date or a few months back.

</details>

### Missing data

<details>

<summary>Some subscribers are missing from the export</summary>

Kit's API returns subscribers based on their status and the start date you've set. Unconfirmed or cancelled subscribers may not appear depending on your account settings. Also check that your start date isn't too recent — subscribers created before that date won't be included.

</details>

<details>

<summary>Purchase records aren't showing up</summary>

Purchases are only available if you use Kit Commerce or have integrated a third-party purchase tracking tool that writes back to Kit. If you don't have purchase data in your Kit account, the Purchases entity will return empty results.

</details>

<details>

<summary>Custom field values aren't appearing in the Custom fields entity</summary>

The **Custom fields** entity only returns field definitions (the key names and labels you've created), not subscriber-level values. To see actual custom field data for each subscriber, use the **Subscribers** entity — custom field values are nested inside the `fields` column there.

</details>

### Permission errors

<details>

<summary>I get an "unauthorized" or 401 error</summary>

This usually means the API key has been regenerated or revoked. Go to **Settings → Advanced → API** in Kit and check whether the key matches what you entered in Coupler.io. If Kit generated a new key, update it in your data flow's source settings.

</details>

### Data discrepancies

<details>

<summary>Subscriber count in Coupler.io doesn't match what I see in Kit</summary>

Kit's dashboard counts may include subscribers in all states (active, unconfirmed, cancelled), while the API may filter by state depending on how the request is structured. If your numbers differ significantly, check the `state` field in your exported data and apply a filter for `active` status to match the dashboard view.

</details>

<details>

<summary>Broadcast data doesn't include open rates or click rates</summary>

Kit's API does not expose per-broadcast engagement metrics like open rates or click-through rates. These are only available inside the Kit dashboard. The Broadcasts entity covers metadata (subject, send date, content) but not performance stats.

</details>

### Rate limits

<details>

<summary>The data flow fails intermittently with timeout or rate limit errors</summary>

Kit's API has rate limits that apply to high-volume accounts with large subscriber lists. If you have tens of thousands of subscribers, the sync may take longer or occasionally hit limits. Try setting a more recent start date to reduce the volume of data being pulled in a single run, or split entities across separate data flows.

</details>

## Kit FAQ

<details>

<summary>Where do I find my Kit API key?</summary>

Log in to Kit and go to **Settings → Advanced → API**. You'll see both a public API key and an API Secret. Use the **API Secret** when setting up your Coupler.io data flow — it's the longer string and provides the access level needed for data exports.

</details>

<details>

<summary>Can I sync data from multiple Kit accounts?</summary>

Yes. Create a separate data flow for each Kit account using that account's API key. If you want to combine subscriber data from both accounts into one destination, add them as multiple sources in the same data flow and use the **Append** transformation to stack the records.

</details>

<details>

<summary>What does the start date parameter actually control?</summary>

The start date tells Coupler.io where to begin fetching records. For example, if you set it to six months ago, only subscribers, purchases, and broadcasts created or updated from that point forward will be included. Use the date picker to set this — it's especially useful for large accounts where pulling all historical data would be slow.

</details>

<details>

<summary>Can I get broadcast open rates and click rates from Kit?</summary>

Not through Coupler.io — Kit's API doesn't expose per-broadcast engagement metrics like open rates or click-through rates. You can pull broadcast metadata (subject line, send date, content), but performance data is only available inside the Kit dashboard itself.

</details>

<details>

<summary>Why do the Form subscribers, Sequence subscribers, and Tag subscribers entities look different from Subscribers?</summary>

These association entities return relationship records — essentially a list of subscriber IDs linked to a form, sequence, or tag. They don't include full subscriber profiles. To enrich them with names and email addresses, add the **Subscribers** entity as a second source and use a **Join** transformation on the subscriber ID field.

</details>

<details>

<summary>Can I use Kit data with AI tools?</summary>

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Cursor, Perplexity, and OpenClaw. You can route your subscriber or broadcast data directly to these tools — useful for tasks like summarizing audience trends, drafting reports, or generating segmentation recommendations.

</details>

<details>

<summary>Is there a way to track subscriber revenue in Coupler.io?</summary>

Yes — export the **Purchases** entity and join it with **Subscribers** using the `subscriber_id` field. This gives you a combined view of purchase amounts, product names, and subscriber details. From there you can use Coupler.io's **Aggregate** transformation to calculate total revenue per subscriber or per product.

</details>

{% hint style="info" %}
For a full breakdown of fields available in each entity, see the [Data Overview](#kit-data-overview) article. If your sync isn't returning the data you expect, check the [Common Issues](#kit-common-issues) article for troubleshooting steps.
{% endhint %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.coupler.io/sources/category/email/convertkit.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
