knadh / listmonk

High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.
https://listmonk.app
GNU Affero General Public License v3.0
14.46k stars 1.32k forks source link

More details in finished campaign email? #1789

Closed MaximilianKohler closed 1 month ago

MaximilianKohler commented 5 months ago

There are quite a few people commenting on campaigns finishing without sending to all subscribers. One example: https://github.com/knadh/listmonk/issues/1762

I sent a campaign to 4k subscribers and it shows 3880/4000. I figured it must be due to some of them being blocklisted/unsubscribed. On v3.0 we can sort the list by "status" to confirm this, but I'm on v2.5 so I downloaded the list to confirm.

Listmonk sends out a confirmation email once a campaign is finished. If you don't think it would be appropriate to put too many details in the logs, how about those confirmation emails?

Right now they only say:

Campaign update

Campaign | name -- | -- Status | finished Sent | 3886 / 4002

Campaign update
Campaign name
Status finished
Sent 3886 / 4002

And/or maybe that type of info could be added to the analytics page? IE:

Campaign update

Campaign | name -- | -- Status | finished Sent | 3886 / 4002 Not sent | 116 Blocklisted | 50 Unsubscribed | 50 Waiting for double opt-in | 16
knadh commented 5 months ago

Not sent can be added, but blocklisted, unsubscribed numbers aren't aggregated or computed anywhere at a campaign level.

However, the total count when a campaign starts already excludes unsubscribed and blocklisted subscribers, which in your example, is 4002. If only 3886 out of that is sent and there are no errors logged, then that needs to be investigated. Can you confirm that there were no errors logged for the 116 missing subs?

MaximilianKohler commented 5 months ago

Yes, I can confirm there were no errors. 116 was exactly the amount of blocklisted subscribers. The 4002 never includes blocklisted users. Neither in the status-email nor on the campaign list page https://demo.listmonk.app/admin/campaigns. 4002 is always the total number of subscribers in the lists, regardless of their status.

but blocklisted, unsubscribed numbers aren't aggregated or computed anywhere at a campaign level

So listmonk just skips them when the campaign is running? And nothing is logged? Maybe this could tie into the suggestion someone gave of making a more verbose log?