From 69bf344186009e4794b4680f4a319c9105c33e7c Mon Sep 17 00:00:00 2001 From: GTVJ Date: Thu, 16 Jan 2025 12:24:04 +0000 Subject: [PATCH] Apply GA4 tracking to flash alerts Introduces the data_attributes required for `ga4-auto-tracker` to only the flash alert component. This has been achieved by: 1. Passing `data_attributes` to `flash_message_component.html.erb`. 2. Adding a `data_attributes` property to `Admin::FlashMessageComponent` (so it is available to all extending components). 3. Populating `data_attributes` in `Admin::FlashAlertComponent` with required properties. --- app/components/admin/flash_alert_component.rb | 11 +++++++++++ app/components/admin/flash_message_component.html.erb | 5 ++++- app/components/admin/flash_message_component.rb | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/components/admin/flash_alert_component.rb b/app/components/admin/flash_alert_component.rb index be1138fc453..13f091afa92 100644 --- a/app/components/admin/flash_alert_component.rb +++ b/app/components/admin/flash_alert_component.rb @@ -2,4 +2,15 @@ class Admin::FlashAlertComponent < Admin::FlashMessageComponent def component_name "error_alert" end + + def data_attributes + { + module: "ga4-auto-tracker", + "ga4-auto": { + event_name: "flash_message", + text: message, + action: "error", + }.to_json, + } + end end diff --git a/app/components/admin/flash_message_component.html.erb b/app/components/admin/flash_message_component.html.erb index 0c791d2e9e1..b0e544accde 100644 --- a/app/components/admin/flash_message_component.html.erb +++ b/app/components/admin/flash_message_component.html.erb @@ -1,5 +1,8 @@ <%= content_tag(:div) do - render "govuk_publishing_components/components/#{component_name}", { message: } + render "govuk_publishing_components/components/#{component_name}", { + message: message, + data_attributes: data_attributes, + } end %> diff --git a/app/components/admin/flash_message_component.rb b/app/components/admin/flash_message_component.rb index a1c6b056c67..e2b16b9c63e 100644 --- a/app/components/admin/flash_message_component.rb +++ b/app/components/admin/flash_message_component.rb @@ -11,4 +11,6 @@ def message @message end end + + def data_attributes; end end