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 · 3 comments
Open

Mailchimp integration for marketing emails #1323

tompurker opened this issue Oct 7, 2024 · 3 comments
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.)

@tompurker
Copy link
Collaborator Author

Changes to data transfer logic

  • Giving research permission: Students who give research consent are tagged with Research consent in Mailchimp.
  • Giving marketing consent : Students who give marketing consent (“I am ok with receiving updates about upcoming language versions…”) are tagged with marketing allowed in Mailchimp.
  • Accepting Privacy Policy and Terms and Conditions: Data of all students who accept the Privacy Policy is transferred to Mailchimp with the Subscribed status. (If not checkbox not checked, students cannot proceed and start studying the course)

Image

@tompurker
Copy link
Collaborator Author

tompurker commented Dec 4, 2024

Checkbox texts and UKR (machine) translations

Checkbox 1

EN

I allow the use of collected data about my study behavior for research purposes. The data contains information from material usage and the course exercises. No individuals can be identified from publications.

UKR

Я дозволяю використовувати зібрані дані про мою поведінку під час навчання в дослідницьких цілях. Дані містять інформацію про використання матеріалів та виконання вправ курсу. Жодна особа не може бути ідентифікована з публікацій.

Checkbox 2

EN

I am ok with receiving updates about upcoming language versions and information regarding new courses. I agree to share my contact information in order to receive tailored messages on third party platforms. Read more in our Privacy Policy.

UKR

Я згоден отримувати оновлення про майбутні мовні версії та інформацію про нові курси. Я згоден надати свою контактну інформацію для отримання персоналізованих повідомлень на сторонніх платформах. Дізнайтеся більше в нашій Політиці конфіденційності.

Checkbox 3

EN

I accept the Privacy Policy and Terms of Service.

UKR

Я приймаю Політику конфіденційності та Умови надання послуг.

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