Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.digifist.com/llms.txt

Use this file to discover all available pages before exploring further.

Campaign analytics give you a clear picture of how each broadcast performed — from the number of messages dispatched to how many were opened by recipients. Every metric is tracked at the individual message level through the WhatsApp API and aggregated per campaign, giving you accurate delivery data without estimation.

What this covers

  • The four core delivery metrics and what each measures
  • How campaign status reflects delivery progress
  • How to interpret results and identify issues

Core metrics

Each campaign tracks four delivery metrics drawn from the WhatsApp Cloud API’s message status callbacks:
Sent is the count of messages successfully dispatched from Galantis to the WhatsApp API.A message reaching SENT status means it left Galantis and was accepted by Meta’s infrastructure. It does not confirm the message reached the customer’s device.If the sent count is lower than your estimated audience size, the gap typically reflects:
  • Customers whose consent status changed to non-SUBSCRIBED between estimation and send time
  • Messages that failed the API submission step — review FAILED count for details

How metrics are tracked

Delivery status updates are received from Meta via webhook. Each time a message status changes — from sent to delivered, or delivered to read, or to failed — Galantis updates the Message model record for that specific message. MonitorCampaignJob runs during and after dispatch to tally counts and update the campaign-level status. When all messages have a terminal status, the campaign moves to SENT, PARTIALLY_SENT, or FAILED.

Reading campaign results

Navigate to Campaigns → [Campaign Name] to view the full analytics breakdown. Results are available as soon as dispatch begins — metrics update in real time as status webhooks arrive from Meta. Use the per-message error view to drill into FAILED messages and identify the specific error reason per recipient.

Interpreting performance

SignalLikely meaning
High sent, low deliveredList contains inactive or invalid numbers
High delivered, low readMessage content or timing needs improvement
High read, low click-throughCTA button or offer relevance needs review
High failed with consent errorsList quality issue — review audience data sources
High failed with credit errorsInsufficient credits — review billing balance before next campaign

Best practices

  • Review failed messages after every campaign. Even a small failure rate contains actionable signal — error types tell you whether the issue is data quality, consent, or billing.
  • Track read rate over time, not just per campaign. A single campaign’s read rate is affected by timing, audience, and content simultaneously. Trends across campaigns are more meaningful than individual results.
  • Compare delivered-to-read rate across campaign types. Promotional and informational campaigns often have different baseline read rates. Comparing like-for-like gives more useful benchmarks.
  • Act on CUSTOMER_IS_MISSING_CALLING_CODE failures. These indicate phone number records that will always fail until corrected. Update affected contact records in Shopify so they sync correctly into Galantis.