> ## Documentation Index
> Fetch the complete documentation index at: https://help.emaillove.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Email insights and reporting

> Bring ESP results and Email Love trends into Reports and AI assistance, with separate controls for sync, AI use and memory learning.

Builder brings your email platform's aggregate results together with category trends, competitor examples and journeys from Email Love. Use them to review results, plan a brief, and give the Assistant more context when it drafts or edits an email.

You don't need to read a report before every draft. When **Use results in AI assistance** is on for a design system, the Assistant can draw on its stored results alongside its brand knowledge. Category and competitor context can work without an ESP connection.

> [!NOTE]
>
> Reporting reads aggregate email performance only. It does not access or change ESP contacts, recipient lists, individual deliveries, person-level events or clicked link destinations. Exporting an email and reading its results are separate capabilities.

For the complete setup-to-draft walkthrough, see [Build emails with insights](https://help.emaillove.com/builder/reports/insights-workflow.md).

## Where to find it

Open **Reports** in the Builder sidebar:

* **Production** keeps your existing production reports.
* **Email performance** shows results from the sources you choose for a design system.
* **Category trends** shows observations from Email Love's archive, including source coverage.

Choose the design system at the top. Its category, competitor choices and reporting settings also live in **AI knowledge** → **Competitors & results**.

## Connect your results

Workspace owners and admins connect ESP accounts in **Integrations**. A design-system manager then chooses which sources that design system uses.

1. Connect the account in [Integrations](https://help.emaillove.com/builder/integrations/overview.md), if it isn't already connected in Builder. Credentials saved only in the Figma plugin do not set up Builder reporting.
2. Open **Reports** → **Email performance** and choose your design system.
3. Click **Manage insight settings**.
4. Choose an **ESP account**. Its reporting options load automatically.
5. Select the newsletters or campaigns offered by the picker. For account or server totals, select that aggregate source. For providers that ask for a **Report ID**, enter the ID described in the [coverage table](#supported-platforms) and click **Add report**. You can select up to 20 sources across connected accounts.
6. Click **Save and load results** to save your selection and queue the import. Saving a connection for exports does not guarantee its key can read reports. Your key or provider role may need additional reporting permission.
7. The report updates when the queued import finishes. Click **Update now** for a later manual refresh.
8. For regular refreshes, turn on **Sync ESP results** and save. Builder refreshes selected sources every six hours.

You can leave scheduled sync off and use **Update now** when needed. Importing results does not turn on AI use or automatic learning.

If an integration appears under **Other connected integrations**, expand it to see why reporting is unavailable. See [Current coverage limits](#current-coverage-limits).

![Insight settings with category, competitor brands, reporting source and sync controls](https://mintcdn.com/emaillove/FS7WzjZwdQPHA7Em/images/builder/guides/insight-settings-updated.png?fit=max\&auto=format\&n=FS7WzjZwdQPHA7Em\&q=85\&s=01490ff707992b11f5d0628f882aeccd)

Example configuration, using demonstration data. Choose sources, then click Save and load results. All three automatic controls are off here.

## Choose what runs automatically

These three settings are independent, belong to the selected design system and start off.

| Setting | What turning it on does | What turning it off does |
| - | - | - |
| **Sync ESP results** | Refreshes selected sources every six hours | Stops scheduled refreshes and keeps earlier reports |
| **Use results in AI assistance** | Allows stored customer results in new AI requests | Stops their use in new requests; it does not delete reports or recall a request already sent |
| **Learn memories automatically** | Learns lasting chat facts and repeated structural edit/review observations | Stops new automatic learning; existing memories keep their own controls |

Click **Save settings** after changing a switch. You can use Reports with AI use off, or allow AI to use stored results while scheduled sync is off. Check the capture date when using older data.

## Add category and competitor context

In **Manage insight settings** or **AI knowledge** → **Competitors & results**:

1. Choose your **Category**.
2. Use **Find a brand on Email Love** and **Search brands** to add up to five competitors.
3. Save.

Builder can draw on available category patterns, brand statistics, email examples and lifecycle journeys. It retrieves relevant evidence rather than putting the whole archive into every request.

**Category trends** describes what brands send. It does not reveal competitors' opens, clicks or revenue. Common send times and popular layouts are observations, not proof of better performance. Coverage, sample sizes and freshness can be unknown when the archive does not provide them.

## Read a report

Each source has its own card with its provider, reporting scope, window and capture time. Some providers offer campaign results; others offer account, server or transactional totals.

* **7 / 14 / 30 days** changes daily-bucket reports. Fixed-range, lifetime, snapshot and rolling-rate reports keep their original window, shown on the card. A fixed-range report normally covers the 30-day range requested at capture.
* **Unknown** means the source did not supply a complete value. It is different from zero.
* Opens and clicks may include automated activity. Human events and unique counts are labelled separately when available. Unique counts use the provider's definition.
* The current daily bucket may be incomplete. Results older than two days are marked stale.
* Account or server totals can include emails created outside Builder. Reports do not identify which Builder revision reached recipients.

Builder does not combine incompatible reports into one total or rank designs across providers. A result can inform a question to test; it does not prove a particular layout or piece of copy caused that result. Revenue attribution and recipient-level drill-down are not included.

![Email performance report showing a selected source, capture window and available or unknown metrics](https://mintcdn.com/emaillove/FS7WzjZwdQPHA7Em/images/builder/guides/email-performance-updated.png?fit=max\&auto=format\&n=FS7WzjZwdQPHA7Em\&q=85\&s=d544dc200ed4e61a356d6919c5e1a692)

Illustrative counts only. Read the provider, reporting window and capture date before comparing results. Unknown means a metric was not supplied.

## Turn evidence into a brief

When a finding is available, click **View evidence** to inspect its source and reporting window. Click **Create brief** to start a brief from it, then add your goal, audience, offer and dates before asking the Assistant to draft.

With **Use results in AI assistance** enabled, relevant stored findings can also inform supported Assistant draft and edit requests automatically. Where an Assistant reply includes **Why these choices**, expand it and use **View evidence** to inspect its cited observations. A source being available does not mean every reply will cite it.

For example: "Draft a welcome email using our brand instructions and relevant category examples. Explain any results you use." Treat the output as a draft to review, with the same checks and sign-off as any other email.

![Category trends observation with Create brief and View evidence actions](https://mintcdn.com/emaillove/qYrzRKTscc4O0qPw/images/builder/guides/category-trends.jpg?fit=max\&auto=format\&n=qYrzRKTscc4O0qPw\&q=85\&s=724e787de27121da4281caccb5c87023)

Demonstration data. Category observations describe what brands send. They do not prove which designs perform best.

![Evidence drawer with the observation source, example subject and limitations](https://mintcdn.com/emaillove/qYrzRKTscc4O0qPw/images/builder/guides/insight-evidence.jpg?fit=max\&auto=format\&n=qYrzRKTscc4O0qPw\&q=85\&s=5aeddc26bf46cefb765dc045fae657ae)

Use View evidence to inspect the source and limitations before Create brief. This example uses fictional observations.

## Results and memories are different

Reports holds observations. Your design system's existing **Memories** page holds lasting facts and preferences. There is no second memory store to manage.

Turning on automatic learning can add memories from chat and repeated structural edits or reviews. It does not turn each campaign result into a claim that a design wins. You can inspect, edit or remove learned memories. See [Memories](https://help.emaillove.com/builder/ai/knowledge.md#memories).

## Supported platforms

Reporting support is subject to the connected account's permissions. Use **Check reporting access** before relying on a source. These are reporting scopes, not a promise that every platform supplies every metric.

| Platform | Source to choose | Window and limits |
| - | - | - |
| **[Customer.io](https://help.emaillove.com/builder/integrations/customerio.md)** | Newsletter from the picker | Provider-supplied reporting window, which can start on the send date. All buckets are included; fixed-range totals do not change with daily-window buttons. Selected email newsletters only; automated campaign actions, transactional messages and content variants are not included. |
| **[Braze](https://help.emaillove.com/builder/integrations/braze.md)** | Campaign from the picker | Daily campaign email metrics. Other message channels are excluded. |
| **[Iterable](https://help.emaillove.com/builder/integrations/iterable.md)** | Email campaign from the picker | Fixed UTC activity range. |
| **[Klaviyo](https://help.emaillove.com/builder/integrations/klaviyo.md)** | Campaign from the picker | Fixed UTC range based on when campaign messages were sent, not a daily activity chart. Flows and revenue are not included. |
| **[Mailchimp](https://help.emaillove.com/builder/integrations/mailchimp.md)** | Campaign from the picker | Campaign lifetime totals. |
| **[SendGrid](https://help.emaillove.com/builder/integrations/sendgrid.md)** | Account totals | Daily UTC email statistics. |
| **[Netcore](https://help.emaillove.com/builder/integrations/netcore.md)** | Account totals | Daily email statistics through the connected non-EU endpoint. Recipient-domain breakdowns are excluded. |
| **[Postmark](https://help.emaillove.com/builder/integrations/postmark.md)** | Server totals | Outbound email in a fixed range, using the provider's EST reporting timezone. |
| **[Brevo](https://help.emaillove.com/builder/integrations/brevo.md)** | Transactional account totals | Fixed-range transactional email statistics, not marketing campaign reports. |
| **[Mailjet](https://help.emaillove.com/builder/integrations/mailjet.md)** | Account totals | Lifetime email counters for the connected API key. |
| **[HubSpot](https://help.emaillove.com/builder/integrations/hubspot.md)** | Account totals | Sent and delivered counts for marketing emails in the requested send-date range. Opens and clicks are not included. |
| **[OneSignal](https://help.emaillove.com/builder/integrations/onesignal.md)** | App totals | Rolling 30-day email bounce and complaint rates at capture. Event counts are not supplied. |
| **[Sailthru](https://help.emaillove.com/builder/integrations/sailthru.md)** | Account campaign totals | Fixed-range campaign email statistics. |
| **[Salesforce Marketing Cloud](https://help.emaillove.com/builder/integrations/salesforce-marketing-cloud.md)** | Enter a numeric send job ID | Send-job lifetime totals. Use the send job ID, not the exported template ID. |
| **[Account Engagement / Pardot](https://help.emaillove.com/builder/integrations/pardot.md)** | Enter a numeric list email ID | List-email lifetime totals, not template statistics. |
| **[ActiveCampaign](https://help.emaillove.com/builder/integrations/activecampaign.md)** | Enter a numeric campaign ID | Campaign lifetime totals, not template statistics. |
| **[Acoustic](https://help.emaillove.com/builder/integrations/acoustic.md)** | Enter `mailingID:reportID` | Lifetime totals for that mailing/report pair. For example, `123:456`. Link and domain breakdowns are excluded. |
| **[Emarsys](https://help.emaillove.com/builder/integrations/emarsys.md)** | Enter a numeric campaign ID | Totals across campaign launches. Opens and cross-launch unique counts are not included. |
| **[MailerLite Classic](https://help.emaillove.com/builder/integrations/mailerlite-classic.md)** | Account snapshot | Sent count only. The provider does not specify the reporting period for this snapshot. Subscriber counts and rates are excluded. |

### Current coverage limits

The following connections do not currently provide reporting in Builder. Their export features are separate.

| Platform | Why reporting is unavailable |
| - | - |
| **SendX and beehiiv** | The inspected reports include clicked URLs without a verified way to exclude them. |
| **Current MailerLite** | Campaign responses include recipient filters without a verified safe alternative. MailerLite Classic has the limited snapshot described above. |
| **[Airship](https://help.emaillove.com/builder/integrations/airship.md)** | The documented reporting API covers push platforms; an email reporting endpoint has not been verified. |
| **Marketo and Zeta** | An aggregate-only email reporting endpoint for these integrations has not been verified. |
| **[MoEngage](https://help.emaillove.com/builder/integrations/moengage.md)** | Campaign reporting exists, but its email-only metric mapping still needs verification. |
| **[Blueshift](https://help.emaillove.com/builder/integrations/blueshift.md)** | Campaign reporting exists, but its response schema and email-only privacy boundary still need verification. |
| **[Stripo](https://help.emaillove.com/builder/integrations/stripo.md)** | It is a template editing integration, not a sending-performance source. |

Builder does not read contacts or individual events to fill these gaps.

## Privacy and removing imported results

Customer results stay within their authorized workspace and design system. Source identities also include the provider and account, so matching campaign IDs from different accounts do not share results. There is no cross-customer pooling of private results.

Imported reports and capture history are subject to a one-year retention limit. Stopping sync is not a permanent archive.

These are private aggregate business records, not a claim of fully anonymous data. Reporting does not fetch contact profiles, addresses, audience membership, recipient exports, individual delivery events or clicked destination URLs. See [Security](https://help.emaillove.com/builder/team/security.md#email-reporting-data).

To remove imported results, open **Manage insight settings**, choose **Delete imported results**, then confirm **Delete results and stop sync**. This removes that design system's imported reports and history, stops sync, disables AI use and clears its selected sources. It does not delete anything in your ESP or remove existing memories. Manage memories on the **Memories** page.

## Troubleshooting

**My account exports successfully but reporting fails.** Check its reporting permissions, region and selected source ID. Export access and reporting access are separate. Update saved credentials in Integrations if needed, then run **Check reporting access** again. Do not add contact access to work around a reporting limitation.

**Check reporting access is disabled.** Save your settings first and select at least one source.

**I can't find a campaign.** Use **More sources** where offered. Some providers expose only account totals or require a report ID. Make sure you selected the correct account and the right kind of ID from the coverage table.

**No results or no finding appears.** Save a source, check access and click **Update now**. A refresh is queued, not instant. No finding can mean there is too little complete, recent evidence; it does not mean nothing was sent.

**Numbers differ from my ESP dashboard.** Compare the same account, source, date basis, timezone and capture time. Check whether the provider is showing unique recipients, total events or filtered human activity. Fixed-range and lifetime cards do not change with the daily-window buttons.

**Some results are stale or unavailable.** Check the latest refresh status and reporting permissions, then retry later. A failed refresh can leave earlier successful results visible. Keep category context available while you resolve the ESP connection.

**I can't change settings.** Ask a manager of this design system. Connecting or updating an ESP account in Integrations requires a workspace owner or admin.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.