Build an audience from ERP data
Create a dynamic or static audience, see how many people may actually be reached, and prepare it for an ad platform.
Before you begin
Audiences depend on consent. Record consent first, or the Reachable count will be low. The screen shows New to everyone; saving needs marketing.audience.edit, and creating from the register also needs marketing.campaign.edit.
Steps: create the audience
- Open Marketing > Audiences > Audiences and press New.
- Enter the Audience name.
- Choose the Type: Dynamic (rule) is rebuilt from the rule every time; Static list keeps the people you add by hand.
- Choose the Purpose: Marketing, Newsletter, Promotions / offers, Transactional / service, Support, or Profiling / ads. Transactional and Support are service messages and always count as reachable.
- In Rule, enter a JSON object. Leave it empty for all customers on WhatsApp:
{"base": "customers", "channel": "whatsapp"}. - Add a Description and press Save. The audience is built at once.
Rule bases
| Base | Who it picks | Extra keys |
|---|---|---|
| customers | Active customers | none |
| leads | Open leads not archived and not "do not contact" | tag, source, country |
| inactive_customers | Customers with no sale for a number of days | days (default from settings, 90) |
| high_value | Customers whose posted invoices exceed a value | min_value (default from settings, 50,000) |
| repeat_customers | Customers with several orders | min_orders (2) |
| by_product | Customers who bought a product | product_id |
| by_industry | Customers in an industry | industry |
| by_location | Customers in a place | country, city |
| abandoned_quotations | Draft sales between days and six times days old | days (14) |
| static | Only the people you add | none |
Example: {"base": "high_value", "min_value": 20000, "channel": "whatsapp"} picks customers with more than AED 20,000 of posted invoices and counts those consented on WhatsApp. An unknown base gives zero members without an error, so check the spelling. A rule that is not valid JSON is refused: 'That is not valid JSON.'
Steps: read the result
Open the audience. The summary line reads, for example, '1 of 3 reachable (consented)'. Each member has a consent chip: Opted in, Opted out, No consent recorded, or Unknown - allowed by company setting (only when that setting is on).
Steps: keep it up to date
- Press Rebuild to recompute a dynamic audience after your data changes.
- For a static audience press Add member, enter a name, phone and email (a phone or an email is needed) and add. The same phone is not added twice.
- Press the bin icon on a row to remove a member.
A dynamic audience is recomputed on every rebuild, so people you add by hand to it disappear. Use a static list for hand-picked people.
Steps: prepare for an ad platform
- On the audience record choose the Platform (Facebook, Instagram, LinkedIn, TikTok, Snapchat or YouTube).
- Press Sync audience. An active ad account on that platform is required: 'Connect an ad account on that platform first (Campaigns > Ad Accounts).'
With a Manual entry account the audience is only prepared. The line reads, for example, 'facebook: prepared 120', and only hashed values (SHA-256) are made. A real upload happens only for Facebook and Instagram with a Connected account. Only people who consented for Profiling or Marketing (on Any channel) are included.
Good to know
- A newly added audience can be linked to an ad set on the ad set form.
- Date calculations use the server date, so a rebuild just after midnight in Dubai may use the previous day.