Skip to content

Record cta click for in-product marketing emails

What does this MR do?

Since we now track the sent emails for the in-product marketing campaign, we also want to track when the CTA button in the email got clicked.

How to test locally:

  • Sign in with root
  • bin/rails c
    • Create the InProductMarketingEmail that gets created in the background job
      Namespaces::InProductMarketingEmail.create!(user: User.first, namespace: Group.first, track: 'create', series: 0)
    • Send the email
      NotificationService.new.in_product_marketing(User.first.id, Group.first.id, :create, 0)
  • Go to http://localhost:3000/rails/letter_opener/
  • In bin/rails c again
    • Check if cta_clicked_at was set
      Namespaces::InProductMarketingEmail.last
      # => [#<Namespaces::InProductMarketingEmail:0x000055839e63b9e8 id: 1, user_id: 1, namespace_id: 22, cta_clicked_at: Mon, 15 Mar 2021 15:28:18 UTC +00:00, track: "create", series: 0, created_at: Mon, 15 Mar 2021 15:27:35 UTC +00:00, updated_at: Mon, 15 Mar 2021 15:28:18 UTC +00:00>]

Related to:

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Nicolas Dular

Merge request reports