Switchbordswitchbord
v0.15.60

v0.15.60

Click-to-WhatsApp ad attribution is fully hardened — every CTWA conversation gets the meta label, a worker enriches the conversation with Meta Ads campaign/adset/ad/creative names, and an operator-only orange info card above the chat pane shows the full ad context.

What's new


  • Operator-only ad info card appears at the top of the chat pane on every CTWA-attributed conversation. Shows campaign / adset / ad / creative names, the original ad copy, the click-through URL, the welcome message, and UTM parameters. Customers never see this card.
  • Refresh from Meta action on the card re-runs the Marketing API enrichment on demand.

What's fixed


  • Every conversation that arrived from a click-to-WhatsApp ad now reliably gets the meta workspace label, including any historical conversations that missed it because of a webhook race or older code path.
  • A new ctwa.attribution.enrich worker job queries the Meta Marketing API on every CTWA inbound and writes back the campaign / adset / ad / creative names, so analytics and the inbox card always have the human-readable context.
  • The conversation attribution row now records enrichment_status, enrichment_attempted_at, and enrichment_error for every attempt, so failures are visible to operators instead of staying silently pending.

Notes


This release follows the GB Viaggi Puglia ad campaign rollout where two CTWA inbound conversations needed identical treatment in the inbox but only one of them was rendering the Meta ad badge consistently.