# Common Issues

## Connection issues

<details>

<summary>Invalid or rejected API key</summary>

Make sure you're using a **Private API key**, not a Public API key. In Klaviyo, go to **Settings → API Keys** and create a new Private key. Check that the key has read access enabled for the entities you're trying to export (campaigns, profiles, metrics, flows). Public keys will always be rejected.

</details>

## Missing data

<details>

<summary>Placed orders or revenue columns are empty</summary>

Revenue and order metrics are only populated when Klaviyo has attributed those events to a message. If your Klaviyo account hasn't tracked placed order events — or if the attribution window hasn't closed yet — these columns will be blank. Confirm that your Klaviyo account has the **Placed Order** metric configured and that the integration with your store (e.g., Shopify) is active.

</details>

<details>

<summary>Data is missing after an Append run</summary>

If an Append run completes but some records are missing, check your date range — the Report entity only returns data within the specified period. Also confirm your API key still has the correct permissions; a key that was rotated or restricted after the data flow was created will cause partial pulls.

</details>

## Permission errors

<details>

<summary>404 error: metric with ID does not exist</summary>

This is one of the most common Klaviyo errors. It means the metric ID referenced in your Report configuration no longer exists in your Klaviyo account — usually because a metric was deleted, renamed, or the account was changed. To fix it, open your data flow's source settings, remove the affected metric, and re-select it from the current list of available metrics in your account.

</details>

## Data discrepancies

<details>

<summary>Preview data doesn't match the exported data</summary>

This is often a timezone issue. Klaviyo reports data in UTC by default, while your spreadsheet destination may display timestamps in your local timezone. Check your Klaviyo account's timezone settings and ensure your date range in the data flow accounts for any offset. Exported data reflects the raw API response, which may differ from what Klaviyo's own dashboard shows if the dashboard applies timezone conversion.

</details>

<details>

<summary>Dates look wrong after export to Google Sheets</summary>

If dates appear shifted by several hours, this is a UTC vs. local timezone mismatch. Use the date picker to set your date range carefully, keeping the UTC offset in mind. Avoid relying on the preview to validate exact timestamps — check the exported sheet directly.

</details>

## Rate limits and timeouts

<details>

<summary>Timeout error: could not import data within 9 minutes</summary>

This happens most often with the **Profiles list** when the account has a large number of subscribers. To resolve it:

* Use **Advanced filters** on the Profiles list to export a subset of profiles instead of the full list
* For the Report entity, shorten the date range or reduce the number of dimensions to decrease response size
* If you're exporting a very large Profiles list, consider splitting it into multiple data flows filtered by segment

</details>

<details>

<summary>Maximum time range is 1 year error</summary>

The Klaviyo API enforces a hard limit of one year per Report request. If your date range exceeds 12 months, the data flow will fail. Use the date picker to keep your range within one year. For multi-year analysis, create separate data flows for each year and use the Append transformation to combine the results.

</details>
