Best Practices

Start with a focused date range

Set your start date to cover only the period you actually need. Pulling years of charge history on your first sync increases load time and fills your destination with data you may never use. Start with the last 90 days, then extend if needed.

Join Customers and Charges for a revenue view

The Charges entity alone won't tell you who your best customers are. Use the Join transformation on customer_id to combine customer profiles with their transaction history in one flat table.

Use separate data flows per entity

Charges, Subscriptions, and Customers update at different frequencies and have different volumes. Keeping them in separate data flows makes it easier to debug sync issues and set appropriate refresh schedules independently.

Data refresh and scheduling

Refresh Charges more frequently than Products

Charges can come in continuously throughout the day, while Products and pricing rarely change. Schedule your Charges data flow to refresh hourly or several times a day, and Products once daily or less.

Sync Subscriptions daily for churn monitoring

Subscription statuses like past_due or canceled are time-sensitive. A daily refresh ensures your team is acting on current data when doing retention outreach.

Performance optimization

Aggregate before sending to spreadsheets

If you're pulling large volumes of charges into Google Sheets or Excel, use Coupler.io's Aggregate transformation to pre-summarize by day, gateway, or status. This keeps your sheet manageable and your formulas fast.

Use BigQuery for long-term charge history

Google Sheets has row limits that become a problem with high-volume charge data. Send historical Charges data to BigQuery and use Looker Studio on top for dashboards — this combination scales without issues.

Common pitfalls

triangle-exclamation

Do

  • Use the gateway field to filter or segment charges when you have multiple payment processors connected

  • Join Subscriptions to Customers before sending to a dashboard so stakeholders have context

  • Verify records appear in Chargedesk itself before troubleshooting missing data in Coupler.io

Don't

  • Set the start date to the beginning of time on a large account — it will slow your first sync significantly

  • Rely on Chargedesk amounts for gateway-fee-adjusted revenue — those calculations need to happen downstream

  • Assume subscription statuses are real-time; they depend on gateway webhooks reaching Chargedesk

Last updated

Was this helpful?