Best Practices

Use internal field names for custom columns

When specifying columns manually, always use HubSpot's internal API field names (e.g., `hs_deal_stage_probability`), not the display labels you see in the HubSpot UI. The Coupler.io help guide shows you how to look these up.

Join Deals with Owners for rep-level reporting

The Deals entity only returns an owner ID by default. Add a second source (Owners entity) to the same data flow and use the Join transformation to map owner names and emails onto your deal records.

Keep custom fields specific

Leaving the custom fields input blank imports every custom property, which can add dozens of empty columns. List only the internal field names you actually need to keep your destination clean and your data flow fast.

Use Append to combine data from multiple portals

If your organization uses more than one HubSpot portal, add each as a separate source in the same data flow and use the Append transformation to stack records into a single unified dataset.

Data refresh and scheduling

Filter by Updated after date for incremental-style runs

For large datasets like Contacts or Deals, set an "Updated after" date filter to pull only recently changed records. This keeps each run fast and avoids re-processing your entire CRM on every refresh.

Use period splitting for email reports

For the Email statistics by period entity, choose a split granularity (weekly or monthly) that matches your reporting cadence. Daily splits for long date ranges generate very large outputs.

Performance optimization

Limit columns to what you need

HubSpot records can have 100+ properties. Use the Columns selector to pull only the fields your report actually uses. This reduces payload size and speeds up every run.

Separate high-volume entities into their own data flows

Contacts databases can be very large. Keep Contacts in a dedicated data flow rather than combining it with Deals in the same run — this way a slow Contacts pull won't delay your pipeline dashboard.

Common pitfalls

triangle-exclamation

Do

  • Use the Owners entity joined to Deals to get readable rep names

  • Use internal HubSpot API field names when specifying columns manually

  • Test with a narrow date range before pulling your full historical dataset

  • Use Aggregate on Deals to pre-calculate pipeline totals before loading to your destination

Don't

  • Apply more than 2 filters at once (date + advanced filter counts as 2)

  • Leave custom fields blank if your portal has many custom properties — you'll get columns you don't need

  • Pull Contacts without a date filter if your database has tens of thousands of records

  • Rely on display labels when naming columns — use internal API names

Last updated

Was this helpful?