Best Practices
Recommended setup
Use one source per brand
BigMailer scopes all data by brand. Set up a separate source for each brand and use the Append transformation to merge them into a unified report. This keeps your data clean and avoids cross-brand confusion.
Pull Fields before building contact reports
Run the Fields entity first to map out all custom attributes in your account. This tells you exactly which columns to expect in your Contacts export and helps you design your destination schema in advance.
Join Campaigns with Brands
The Bulk campaigns and Transactional campaigns entities include a Brand ID. Join them with the Brands entity to enrich your campaign reports with brand names — especially useful for agency reporting across multiple clients.
Data refresh and scheduling
Match refresh frequency to send volume
If you send campaigns daily, a daily refresh is enough for campaign-level reporting. For contact or suppression list monitoring, weekly is usually sufficient unless you're actively running list hygiene operations.
Refresh suppression lists after major sends
Bounce and unsubscribe rates spike right after a large campaign. Schedule a suppression list refresh shortly after your bulk sends to capture new opt-outs and keep your active contact counts accurate.
Performance optimization
Don't pull all entities in one run
If you have a large contact database or many brands, avoid stacking too many sources in a single data flow. Group related entities (e.g., Contacts + Lists) in one flow and campaign data in another to avoid timeouts.
Use AI destinations for insight, not raw storage
Sending your Bulk campaigns or Segments data to Claude, ChatGPT, or Gemini works best for analysis tasks — like reviewing subject line patterns or audience overlap — rather than as a long-term data store. Use BigQuery or Sheets for persistent storage.
Common pitfalls
Do not use the same API key across multiple environments without checking its scope. A key with broad access used in a shared workspace can expose contact data from all brands to anyone with access to that data flow.
Do
Create one source per brand when working with multi-brand accounts
Pull the Suppression lists entity regularly to stay on top of deliverability
Use Append to combine transactional and bulk campaign data into a single history table
Verify custom field population in the Fields entity before building contact segments
Don't
Assume a single Contacts pull covers all brands — it doesn't
Ignore the Brand ID column — it's essential for filtering in multi-brand setups
Use draft campaigns as a source of truth — check the Status field before reporting on campaign counts
Store suppression list data only in your destination without a refresh schedule — it goes stale quickly
Last updated
Was this helpful?
