Enable marketing team to send trigger emails based on in-app actions taken by GitLab.com users
Problem
We need a way to communicate with users when they have or have not taken important actions within GitLab.com. This will help us provide users with onboarding, content and recommended next steps that are relevant to their usage of the product. We need to implement this in a way that allows the marketing team to iterate on the content and cadence without direct help from product/engineering for events that we've implemented for them.
Solution
In order to support automated emails from the marketing system (Marketo), we need to send events for important actions users take to Marketo. To start we can outline the top 10 events we want to send to Marketo in order from most to least important. Ideally, whatever system we create to send these events is relatively easy to scale by that I mean in the future if marketing requests a net new event it's relatively easy for us to add an additional event to send to Marketo.
| Event number | Event name | Event Description |
|---|---|---|
| 1 | PE: abandon cart | Product Event: user started checkout flow but did not complete it after X hours |
| 2 | PE: activated create stage | Product Event: user is now a SMAU for Create |
| 3 | PE: activated plan stage | Product Event: user is now a SMAU for Plan |
| 4 | PE: activated verify stage | Product Event: user is now a SMAU for Verify |
| 5 | PE: activated release stage | Product Event: user is now a SMAU for Release |
| 5 | PE: additional user invited | Product Event: user invited an additional user to their namespace |
| 6 | PE: abandon trial form | Product Event: user started trial flow but did not complete it after X hours |
| 7 | TBD | TBD |
| 8 | TBD | TBD |
| 9 | TBD | TBD |
| 10 | TBD | TBD |
It looks like we could send these to Marketo as custom activities (documentation). However, I'm open to ideas on the best way to implement this but I'm sure Marketing will want the ability to create smart lists, workflow enrollments and automate email sends with whatever solution we end up implementing.