Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mailchimp integration for marketing emails #1323

Open
tompurker opened this issue Oct 7, 2024 · 1 comment
Open

Mailchimp integration for marketing emails #1323

tompurker opened this issue Oct 7, 2024 · 1 comment
Assignees
Labels

Comments

@tompurker
Copy link
Collaborator

tompurker commented Oct 7, 2024

  • Checks marketing consent.
  • Used for sending marketing emails.

(Roughly two weeks of work)

Needed:

  • access to mailchimp for testing (test account in testing environment)
@nygrenh
Copy link
Member

nygrenh commented Oct 17, 2024

Add a marketing consent checkbox to the course settings dialog. This checkbox will allow users to opt in to receive marketing messages related to the course they're taking. When a user consents, they'll be added to the appropriate Mailchimp mailing list for that course. We'll also sync metadata, such as course completion status, with Mailchimp according to our predefined schema.

  • Consent checkbox

    • Add the consent checkbox to the bottom of the course settings dialog.
    • The checkbox should appear only if the course is configured with Mailchimp integration.
    • Each course might have a different mailing list, and multiple courses can share the same list.
  • Mailchimp Integration

    • When a user consents, add them to the corresponding Mailchimp mailing list.
    • Sync the following data with Mailchimp:
      • User metadata: id, first name, last name, and whether they've completed the course.
      • Course Information: course language group id, course id, and course language identifier.
    • If a user updates their email in our system, update their email in Mailchimp using their user id.
    • Detect if a user unsubscribes through Mailchimp via the Mailchimp API and update their consent status in our database accordingly.
  • Managing Marketing Consent

    • Users should be able to edit their consent preferences by opening the course settings dialog again.
    • Ensure any changes in consent are reflected both in our database and Mailchimp.
  • Background Sync Process

    • Implement a background thread to handle all synchronization between our system and Mailchimp.
    • This process should sync continuously, like chatbot_syncer in our codebase.
  • Metadata and Schema Management

    • After attaching a Mailchimp list to a course, automatically set up the required metadata schema in Mailchimp. Use the same background thread you use for syncing users.
    • Remove any extra columns or fields in the Mailchimp list that aren't defined in our schema to make it clear which columns are supported and which are not. (People may add stuff there, which can lead to confusion for future users.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants