window.addEventListener('message', function(event) { if ( event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted' ) { // Extract field values from HubSpot's data payload var fields = {}; if (event.data.data) { event.data.data.forEach(function(field) { fields[field.name] = field.value; }); } window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: "ce_submit_form", form_id: event.data.id || "", // HubSpot form GUID form_name: event.data.formType || "", // or hardcode per form user_data: { first_name: fields['firstname'] || "", last_name: fields['lastname'] || "", email: fields['email'] || "", phone_number: fields['phone'] || "" } }); } });