1

We have a number of mailing lists, some of which are synchronised with mailchimp lists with emails sent via mailchimp (organisational culture means that they want to keep these with mailchimp). The others are sent via CiviMail.

We've created a manage my subscriptions page that contains all mailing list subscriptions. We can provide a checksummed link to this page from CiviCRM mailings I am struggling to see how we could create this from mailchimp. One thing we can do is create links in mailchimp of the form example.org/link-to-manage-my-subscriptions?email=email@example.org. And have this URL trigger an email to the recipient that authenticates them to example.org/link-to-manage-my-subscriptions.

I'm wondering if I am missing a trick that would allow us to create a checksum link in mailchimp and authenticate to that page without the extra email step.

1

Assuming you're using the mailchimp extension headed by Veda...

You cannot supply more data from CiviCRM to mailchimp, such as data from other fields, or calculated such as a unique URL or checksum.

Furthermore, there is no direct one-to-one link (e.g. ContactID) between the data at Mailchimp and the contacts in CiviCRM. Since integration means that people will always be able to subscribe directly at Mailchimp (or via another consumer of their API), it would be impossible to maintain a state of having a known ID in Mailchimp.

I recently quoted for implementing the first of these and it looked like a lot of work. The latter could be implemented with less work, but you would still have to deal with the cases of subscribers at Mailchimp that might not exist/have corresponding contacts in CiviCRM.

A practical solution might be to have a service that runs on a schedule to: fetch subscribers without this magic link (yet) using Mailchimp's API; then loop those, calculate the links and create a bulk API update call.

My CRM_Mailchimp_Api3 class has methods for submitting and waiting on a bulk Mailchimp API operation.

That way as long as your link does not need changing (it might, in the case of a subscriber changing their email address), and as long as the scheduled job runs frequently enough, you should be able to pull in that magic URL as a |*MERGE_TAG*|.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.