HB HB Plastics Wiki

Marketing blasts (email & SMS)

Marketing blasts (email & SMS)

The marketing dashboard home
The marketing dashboard home

What it is

Email and SMS campaigns are built at marketing.hbplastics.com.au. Email goes out via SendGrid; SMS via Twilio. The most important thing to understand:

⚠️ There is no instant “Send” — sends are scheduled, then a cron fires them
  • Email only goes out at ~7
    AEST
    (a daily send). You schedule it; the 7am tick sends that day’s batch.
  • SMS goes out hourly, but only between 8am and 9pm AEST.

You can’t make an email fire at 9am without changing the system.

How to send a blast

  1. Write the message — email needs a subject + content and the correct brand from-address (the brand inbox, not sales@). SMS needs body text (avoid dashes — SMS handles them badly).
  2. Build/choose the audience in the dashboard.
  3. Apply cross-brand dedup (see the golden rules below).
  4. Test send first — the test uses the stored message, which is the reliable copy.
  5. Schedule it (set the status to scheduled) so the next send window catches it.

The system automatically excludes people with an open order that already has an invoice, and account customers, so blasts don’t hit mid-order or trade customers.

The golden rule: suppression

⚠️ Never trust a copied list to be clean

This caused a real incident: an audience was copied from an old campaign without re-checking suppression, and the blast went to 1,786 unsubscribed people and ~420 opted-out numbers. The system now re-checks unsubscribes/opt-outs at send time — but the rule for you stands: never reuse an old audience assuming it’s clean. Rebuild it.

Cross-brand rule

Nobody receives from two brands. Email + SMS within one brand is fine, but a contact belongs to a single brand and is removed from the other brand’s list.

What NOT to do

  • Don’t reuse/copy an old audience and assume it’s clean (see above).
  • Don’t re-press Send/Schedule after a campaign is already scheduled — it rebuilds the audience and undoes the dedup/exclusions.
  • Don’t expect flipping the status to STOP an in-flight SMS send — to halt a live send you have to remove the pending recipients. Ask Daniel.
  • Don’t send from sales@ — use the brand inbox address.

Gotchas

  • SMS scheduled time is fiddly with timezones — a picker time can fire a day late. If timing matters, double-check with Daniel.
  • Audience auto-dedup can empty your list if old campaigns still exist (almost everyone counts as “already emailed”).
  • Brands share SMS numbers, so a customer’s reply can land in another brand’s pipeline.
  • Marketing brand ids are the PIM ids (1–5) — not the CRM automation ids. See Brand IDs.
  • A big send finishes on its own if interrupted. Email campaign sends now run as a durable, resumable job: if the worker restarts mid-send, it picks up from where it stopped instead of stalling half-sent, and no one is emailed twice. Pressing send again on a campaign that’s already sending does nothing (it won’t start a second run). You don’t need to babysit a large blast — but if a send ever looks stuck, tell Daniel rather than firing it repeatedly.

Who to tell if it breaks

Tell Daniel or flag in #whats-new. A send going to the wrong/ suppressed people is serious — stop and escalate.

TODO: confirm the audience-builder + schedule screen layout with a screenshot pass.


Derived from: the marketing-campaigns-hbplastics skill. If this looks wrong, the source changed — update the source and re-generate, don’t just patch this page.