Conversation
✅ Deploy Preview for flowfuse-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Yndira-E
marked this pull request as draft
September 25, 2026 16:30
- position now describes placement (hero / form), not the page - identify() normalizes email and skips an already-identified session - guards against a resent booking message counting twice - step_count rides as a property on the outcome event instead of firing one event per resize message (noisy, and a false abandon on resize alone) - hubspot-meeting-abandoned also fires on pagehide, not just SPA unmount - message parsing extracted to nuxt/lib/hubspot-meeting-message.mjs with tests (fixture data anonymized) - dataSrc stays overridable per caller, but the ?embed=true param is now set via URLSearchParams instead of string-concatenated - fixes the real bug: a later mount (e.g. browser back/forward) got an empty calendar forever, because the already-loaded HubSpot script only scans for .meetings-iframe-container once. Calls window.hbspt.meetings.create() to re-run that scan - confirmed live with the exact repro (SPA nav, then back/forward)
…-booked # Conflicts: # nuxt/components/HubSpotMeetings.vue # src/_includes/hubspot/consent-fallback.njk
…to track/hubspot-meeting-booked
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
The embedded HubSpot calendar (
/book-demo,/landing/tulip) was a black box for analytics, a cross-origin iframe with no signal for whether anyone actually got to booking. This adds a listener for thepostMessageHubSpot sends on a completed booking: it fireshubspot-meeting-bookedin PostHog and callsidentify()with the contact's email, so we can see who booked and their full journey instead of just an anonymous count.It also tracks
hubspot-meeting-step-progressed, an approximate signal for how far someone got before booking (or dropping off), built from the embed's undocumented resize messages. It's not a precise click count, some transitions fire multiple resize events per click, others fire one, so treat it as rough progress depth, not an exact interaction tally.Two more fixes bundled in, both surfaced while building this:
All sales-calendar links across the site now read
site.meetings.salesRoundRobininstead of each hardcoding the URL by hand.Related Issue(s)
Checklist