Why is my account counter different from what the campaign shows?
If the LinkedIn → Accounts page shows a different daily count than what your campaign card reports — for example, account shows 'invites sent today: 1' but you can see 24 messages went out per the campaign's activity log — you're hitting a counter desync, not a real send failure. Every message DID go out; the counter on the account-level dashboard tile is just under-reporting the unified-engine sends.
Why this happens (LL#254 + LL#261, Apr 30, 2026):
There are two campaign engines under the hood — the legacy STANDALONE engine (`linkedin_campaigns` + `linkedin_campaign_enrollments`) and the newer UNIFIED multichannel engine (`campaigns` + `campaign_prospects`). Both engines call the same atomic counter for weekly rate-limit gating (linkedin_accounts.invites_sent_week — this is correct and load-bearing for safety, never under-reports), but the daily-bucket tiles (invites_sent_today, messages_sent_today, connections_today) are written by a separate post-success increment that the unified engine forgot to wire on some action sites.
What's correct vs what's wrong:
- ✅ Weekly counter (drives rate-limit gating) — always correct. Your account is never sending past your configured limits.
- ✅ Campaign-card daily counter (driven by campaign_events / campaign_prospects) — always correct. This is the source-of-truth for 'how many messages went out today on this campaign'.
- ❌ Account-card daily counter (driven by linkedin_accounts.{action}_today) — under-reports for unified-engine campaigns until LL#261 fix is deployed.
How to verify the messages actually went out:
- Open the campaign card and check the per-step activity counter — it shows ground-truth from campaign_events.
- Open the LinkedIn inbox for the account and confirm the messages are visible in your sent items.
- Open the prospect's enrollment row and check linkedin_messaged_at (set when the message landed) and last_linkedin_action_at (set when any action ran).
What we're shipping:
The LL#261 fix audits every unified-engine LinkedIn action site and adds the paired daily-counter increment in the same transaction as the success event-row insert. A one-shot backfill recomputes the daily buckets from the ground-truth event rows for the desync window.
For customer Panagiotis specifically (Vishwanath account): the dashboard showed messages_sent_today=1 on Apr 30 morning even though 24 messages had legitimately gone out via the unified-engine. Every send was real, every safety gate held, the counter just lagged.
If your counters still mismatch after the fix lands, contact support at hello@warmysender.com with the account email and approximate timestamp range — we can recompute the bucket from event rows.