Best Practices
Recommended setup
Set a meaningful start date
Use the date picker to set a start date that matches your reporting needs. For a 90-day rolling report, set the start date 90 days back. Pulling all-time data on the first run can be slow and may hit rate limits.
Add multiple entities to one data flow
Use a single data flow with Appointments, Clients, and Appointment types as separate sources. Then use a Join transformation to link them — for example, joining Appointments with Appointment types on the type name to enrich booking records with pricing and duration.
Use Append for multi-account reporting
If you manage more than one Acuity account, create a source for each account and use the Append transformation to combine them into a single dataset for unified reporting.
Data refresh and scheduling
Match refresh frequency to your booking volume
High-volume businesses with dozens of daily appointments benefit from hourly or every-few-hours refreshes. Lower-volume operations can use daily syncs without missing anything meaningful.
Run a successful manual sync first
Before setting a schedule, complete a manual run and verify the data looks correct in your destination. Check that appointment statuses, dates, and client fields are populated as expected.
Performance optimization
Filter by status in your destination
Acuity returns all appointment statuses including canceled and no-shows. Filter these out in Google Sheets, BigQuery, or Looker Studio rather than at the source level so you keep the full history available for churn or cancellation analysis.
Use Aggregate for summary dashboards
If you're building a Looker Studio or Google Sheets dashboard, apply the Aggregate transformation in Coupler.io to pre-summarize bookings by week, calendar, or appointment type. This keeps your destination lean and dashboards fast.
Common pitfalls
Don't use a staff member's API credentials — only the main account owner has full access to all entities including all calendars and client records.
Don't
Leave the start date unset and pull unlimited history on the first run
Assume Forms data is embedded in Appointments — it's a separate entity
Store your API key in a shared spreadsheet alongside the exported data
Use the same data flow for multiple Acuity accounts — create separate sources instead
Last updated
Was this helpful?
