Best Practices

Start with a single account and report type

Create your first data flow with one Microsoft Ads account and one report type (e.g., Campaign performance). Once you've verified the data looks correct, add more accounts or reports. This reduces troubleshooting complexity.

Use predefined reports first

Predefined reports (Campaign performance, Keyword performance, etc.) are faster and more reliable than custom reports. Start there; only build custom reports if you need unusual metric or dimension combinations.

Pull 2–3 days of history instead of today's data

Microsoft Ads takes 24–48 hours to finalize reporting data. Schedule imports for early morning (7–8 AM) and pull data from 2–3 days ago to ensure you have complete, accurate data.

Set Split data by period to Daily for trend analysis

If you're building charts or dashboards, use **Split data by period = Daily** to get daily granularity. This lets you spot trends and sudden performance drops in Looker Studio or other dashboards.

Data refresh and scheduling

Schedule imports early morning (7–8 AM)

Microsoft's reporting API processes data overnight. Scheduling a 7–8 AM import ensures yesterday's complete data is available. Avoid imports during business hours when the API is busier.

Use weekly or biweekly reports for large accounts

If you're importing 90+ days of data or have 100+ campaigns, use weekly refreshes instead of daily. This reduces API strain and memory usage. Append multiple weeks together in your destination for a rolling view.

Enable date picker for dynamic ranges

Instead of hardcoding a date range, use Coupler.io's date picker or macros (if supported) to automatically pull the last 30 days. This keeps your report always fresh without manual updates.

Performance optimization

Use advanced filters to reduce data size

If you only care about search campaigns, add a filter for device type or network. Filtering down reduces the API payload and speeds up the import. Don't pull data you won't use.

Aggregate daily data to weekly/monthly in your dashboard

If you pull daily data, aggregate it in Looker Studio or BigQuery using SUM(Spend), SUM(Conversions), etc. Don't let the destination accumulate thousands of rows — roll up to the appropriate time grain for your use case.

Append multiple accounts in one data flow

Instead of creating separate data flows for each Microsoft Ads account, select all accounts in one flow. This is more efficient than running 5 individual imports.

Common pitfalls

triangle-exclamation
triangle-exclamation
triangle-exclamation

Do

  • Test with a single account and report type first

  • Pull data 2–3 days after it was generated

  • Use predefined reports for standard metrics

  • Schedule imports during early morning (7–8 AM)

  • Apply advanced filters to reduce data size

  • Append data from multiple accounts in one flow

Don't

  • Pull data for today or yesterday

  • Use custom date ranges in scheduled flows

  • Mix split periods across related reports

  • Run multiple data flows simultaneously if your account is large

  • Import every single metric if you only need a few

  • Leave data in your destination without aggregation (roll up to appropriate time grain)

Last updated

Was this helpful?