Modules Documentation
Analytics events
GA4 / GTM event list for the module.
Complete
Calendar telemetry covers four funnel stages: discovery (impressions on listing/landing rails), engagement (card click → details view), action (outbound CTA — register/apply/website), and submission (submit-event form completions). All events are namespaced calendar.* and flow through the platform analytics hub.
Event taxonomy
- calendar.landing.view
- Fires on /calendar landing. Properties: { rails_shown: number, featured_event_id?: string }.
- calendar.listing.view
- Fires on any /calendar/events* listing page. Properties: { scope: 'all'|'country'|'category'|'audience'|'stage'|'time', scope_value: string, result_count: number, active_filters: string[] }.
- calendar.card.click
- Fires when an event card is clicked anywhere (rail / grid / sidebar). Properties: { event_id, event_slug, source_page, source_rail?, position_in_list }.
- calendar.details.view
- Fires on /calendar/events/:slug. Properties: { event_id, category, country, status, has_cover_image, related_entities_count }.
- calendar.register.click
- Fires when "Register" CTA is clicked. Properties: { event_id, registration_url, status_at_click }.
- calendar.apply.click
- Fires when "Apply" CTA is clicked. Properties: { event_id, apply_url, days_to_deadline }.
- calendar.ics.download
- Fires when "Add to calendar" is clicked. Properties: { event_id }.
- calendar.submit.start / .complete
- Bracket the submit-event form. Start fires on form mount; complete fires on successful submission. Properties on complete: { event_id_generated, category, country, has_source_url }.
KPIs derived
- CTR by rail: clicks / impressions for each landing rail. Closing-soon and this-week typically outperform by-country.
- Apply rate by category: applies / details_views. Accelerator + pitch-competition categories should sit at 8-15%; demo-days are zero (no apply CTA).
- Verification velocity: avg hours between submit.complete and the publish event (verificationStatus flip to verified).
- Coverage conversion: covered_events / coverageEligible_events. Tracks how well the Coverage module keeps up with the editorial pipeline.
