I'm looking to see what the best way is to manage subscribers.
Currently our website maintains a list of users, and their marketing (opt-in) preference.
The issue is that those users can unsubscribe from our website, but also via Campaign Monitor (link in the emails).
I think this is a fairly common setup.
For some background, the setup I'm currently implementing is...
Once a day the whole opt-in list is uploaded to Campaign Monitor with the import API:
This adds / updates users on Campaign Monitor (i.e. for new customers and name changes).
I've done this as a single batch update because I don't want to be making thousands of little subscribe/unsubscribe requests when customers interact with the website.
Next I return a list of active subscribers from CM, and run a DELETE for anyone who should no longer be on the list (e.g. they have unsubscribed on our website).
This means the 4 lists on Campaign Monitor are now used as follows:
- Active: We are sending emails to them.
- Unsubscribed: Those who have unsubscribed via CM (link in email).
- Deleted: Have been removed by this automated system (e.g. unsubscribed on our end).
The problem is that anyone who changes their opt-in status on our website from opt-in, to out-out, will be put on the Deleted list (ok so far).
But if they change their mind again, the "import" script will reject them unless we set "Resubscribe" to true.
Which is fine, but we now have the problem of users being on the Campaign Monitor unsubscribe list, and we don't want to re-subscribe them.
One option would be to return a list of unsubscribes first.
And use that to remove anyone locally (a good idea, so we always keep a master list), then mark them as deleted on CM.
This means that the unsubscribe list on CM is a temporary storage area, where they will be moved to the Deleted list once this has been processed (once a day).
However, I don't think there is a way to DELETE anyone on the unsubscribed list, where the following seems to only Delete them when they are subscribed:
That said, it does mean that the list of unsubscribes will always drop to 0, so I don't know how that will effect statistics.