# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Start with Profile insights</strong></td><td>Test your connection with the simplest report type first. Once data flows cleanly, add video-level and audience breakdown reports.</td></tr><tr><td><strong>Schedule daily refreshes overnight</strong></td><td>TikTok updates analytics once per day (typically midnight UTC). Schedule your data flow to run at 1–2 AM UTC to capture the latest data without hitting rate limits.</td></tr><tr><td><strong>Use Append mode for historical tracking</strong></td><td>Set your destination to **Append** so each daily run adds new rows. This builds a historical time series that TikTok's 60-day limit alone cannot provide.</td></tr><tr><td><strong>Archive data every 90 days</strong></td><td>Export your oldest 30 days of appended data to a separate sheet or data warehouse before they age out of TikTok's 60-day window. This preserves your long-term trends.</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>Run profile audience reports separately from video reports</strong></td><td>Create two data flows: one for Profile insights + audience breakdowns (daily refresh), and one for Video list reports (every 2 days). This avoids rate-limit issues and keeps reports organized.</td></tr><tr><td><strong>Set date ranges using macros</strong></td><td>Use `{{today}}` and `{{30daysago}}` in your date fields so the range rolls forward automatically. This ensures you always capture the latest 30 days without manual adjustment.</td></tr><tr><td><strong>Stagger refreshes if managing multiple accounts</strong></td><td>If you have several TikTok accounts in Coupler, space their scheduled runs 15–30 minutes apart to avoid hitting the API rate limit simultaneously.</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>Use Replace mode for one-off reports</strong></td><td>If you're pulling a static report for a specific date range (e.g., Q1 performance), use **Replace** mode to avoid duplicate rows. Switch back to **Append** for ongoing tracking.</td></tr><tr><td><strong>Split audience metrics into separate flows if destination has limits</strong></td><td>Some spreadsheet tools slow down with very wide tables. Consider running gender data, country data, and hourly activity as three separate data flows into three sheets.</td></tr><tr><td><strong>Combine with AI tools for instant insights</strong></td><td>Send your TikTok data to Claude or ChatGPT via Coupler. Paste a week of video performance data and ask the model to identify trends and suggest content ideas.</td></tr></tbody></table>

## Common pitfalls

{% columns %}
{% column %}
**Do**

* Verify your account is Creator or Business before connecting
* Check that your date range is within the last 60 days
* Schedule runs after midnight UTC when TikTok data updates
* Test with a manual run before setting a schedule
* Use Append mode to build a historical archive
  {% endcolumn %}

{% column %}
**Don't**

* Try to pull data older than 60 days (TikTok doesn't provide it)
* Run the same report multiple times on the same date (creates duplicates)
* Schedule too many data flows to run at once (causes rate limit errors)
* Use Replace mode for ongoing tracking (you'll lose historical data)
* Rely only on TikTok's in-app analytics for long-term trends
  {% endcolumn %}
  {% endcolumns %}
