Skip to content
Splashify Pro
Docs

Analytics

The analytics command mirrors the /analytics page — a summary of message volume across channels and a daily trend series for charting.

Read-only. The page also has CSV export buttons; pipe the JSON through jq -r and your own conversion of choice.

Quick start

bash
splashify analytics              # message analytics summary
splashify analytics trends       # daily trend series

Command reference

Summary shape

json
{
  "success": true,
  "summary": {
    "total_sent":      18420,
    "total_delivered": 17888,
    "total_read":      12940,
    "total_failed":      532,
    "by_channel": {
      "whatsapp":  { "sent": …, "delivered": …, "read": …, "failed": … },
      "rcs":       { "sent": …, "delivered": …, "read": …, "failed": … },
      "instagram": { "sent": …, "delivered": …, "read": …, "failed": … }
    },
    "by_template": [
      { "name": "promo_welcome", "sent": …, "delivered": …, "read": … }
    ]
  }
}
json
{
  "success": true,
  "trends": [
    { "date": "2026-04-22", "sent": 612, "delivered": 595, "read": 421, "failed": 17 },
    { "date": "2026-04-23", "sent": 580, "delivered": 561, "read": 398, "failed": 19 }
  ]
}

Common patterns

bash
# Read-rate per template
splashify analytics | jq '
  .summary.by_template[] |
  {name, read_rate: (.read / .delivered)}
'

# Last 7 days of sends as a sparkline-friendly CSV
splashify analytics trends | \
  jq -r '.trends[-7:][] | "\(.date),\(.sent),\(.delivered),\(.read)"'

# Channel mix
splashify analytics | \
  jq '.summary.by_channel | to_entries | map({channel: .key, sent: .value.sent})'