diff --git a/src/components/shared/AnalyticsClickTracker.astro b/src/components/shared/AnalyticsClickTracker.astro new file mode 100644 index 0000000..ef85fea --- /dev/null +++ b/src/components/shared/AnalyticsClickTracker.astro @@ -0,0 +1,36 @@ + diff --git a/src/components/shared/AnnouncementBanner.astro b/src/components/shared/AnnouncementBanner.astro new file mode 100644 index 0000000..245deab --- /dev/null +++ b/src/components/shared/AnnouncementBanner.astro @@ -0,0 +1,125 @@ +--- +interface Props { + campaign: string; + href: string; + message: string; + linkText: string; + ctaAction?: string; +} + +const { campaign, href, message, linkText, ctaAction = 'banner_cta' } = Astro.props; +const storageKey = `pl_banner_dismissed_${campaign}`; +--- + + + + + + diff --git a/src/components/shared/TopHeader.astro b/src/components/shared/TopHeader.astro index 5ef07c1..235ba44 100644 --- a/src/components/shared/TopHeader.astro +++ b/src/components/shared/TopHeader.astro @@ -19,8 +19,8 @@ const { activeSection = getActiveSection(Astro.url.pathname), showNavTools = fal {showNavTools ? : null}
- Sign up - Book demo + Sign up + Book demo
diff --git a/src/components/site/BrokenLinkReportForm.astro b/src/components/site/BrokenLinkReportForm.astro index 73db486..9f3c0e6 100644 --- a/src/components/site/BrokenLinkReportForm.astro +++ b/src/components/site/BrokenLinkReportForm.astro @@ -151,6 +151,16 @@ const apiBaseUrl = (rawApiBaseUrl || fallbackApiBaseUrl).replace(/\/+$/, ''); return; } + if (typeof gtag === 'function') { + gtag('event', 'cta_click', { + funnel_stage: 'evaluation', + action: 'broken_link_report', + location: 'free_tools', + campaign: '', + link_url: apiBase + '/public/free-tools/broken-link-report', + }); + } + submitButton.disabled = true; submitButton.dataset.loading = 'true'; setStatus('Submitting request...', 'neutral'); diff --git a/src/components/site/FreeToolCard.astro b/src/components/site/FreeToolCard.astro index 587877c..26c12b7 100644 --- a/src/components/site/FreeToolCard.astro +++ b/src/components/site/FreeToolCard.astro @@ -10,7 +10,7 @@ interface Props { const { title, description, href } = Astro.props; --- - + diff --git a/src/components/site/HandDrawnArrow.astro b/src/components/site/HandDrawnArrow.astro new file mode 100644 index 0000000..07d2648 --- /dev/null +++ b/src/components/site/HandDrawnArrow.astro @@ -0,0 +1,12 @@ +--- +interface Props { + class?: string; + color?: string; +} + +const { class: className, color = '#4f46e5' } = Astro.props; +--- + + diff --git a/src/components/site/Hero.astro b/src/components/site/Hero.astro index cbb2204..d27e6ab 100644 --- a/src/components/site/Hero.astro +++ b/src/components/site/Hero.astro @@ -60,6 +60,17 @@ const { form.addEventListener('submit', async (event) => { event.preventDefault(); + const gtag = (window as any).gtag; + if (typeof gtag === 'function') { + gtag('event', 'cta_click', { + funnel_stage: 'conversion', + action: 'book_demo', + location: 'hero', + campaign: '', + link_url: form.action, + }); + } + if (submitButton instanceof HTMLButtonElement) { submitButton.disabled = true; submitButton.textContent = 'Submitting...'; @@ -99,3 +110,4 @@ const { }); })(); + diff --git a/src/components/site/PricingCards.astro b/src/components/site/PricingCards.astro index 0cb2db3..ee60e33 100644 --- a/src/components/site/PricingCards.astro +++ b/src/components/site/PricingCards.astro @@ -35,6 +35,7 @@ const defaultGrowthBundle = GROWTH_BUNDLE_OPTIONS[0]; features={STARTUP_FEATURES} ctaLabel={STARTUP_PLAN.ctaLabel} ctaHref={STARTUP_PLAN.ctaHref} + ctaAction={STARTUP_PLAN.ctaAction} /> @@ -61,6 +63,7 @@ const defaultGrowthBundle = GROWTH_BUNDLE_OPTIONS[0]; features={ENTERPRISE_FEATURES} ctaLabel={ENTERPRISE_PLAN.ctaLabel} ctaHref={ENTERPRISE_PLAN.ctaHref} + ctaAction={ENTERPRISE_PLAN.ctaAction} /> diff --git a/src/components/site/WtdCallout.astro b/src/components/site/WtdCallout.astro new file mode 100644 index 0000000..3751c5e --- /dev/null +++ b/src/components/site/WtdCallout.astro @@ -0,0 +1,102 @@ +--- +import HandDrawnArrow from './HandDrawnArrow.astro'; +--- + + + + + + + + + + diff --git a/src/components/site/pricing/PricingCard.astro b/src/components/site/pricing/PricingCard.astro index 656c893..8697ee5 100644 --- a/src/components/site/pricing/PricingCard.astro +++ b/src/components/site/pricing/PricingCard.astro @@ -12,6 +12,7 @@ interface Props { features: string[]; ctaLabel: string; ctaHref: string; + ctaAction?: string; featured?: boolean; badge?: string; priceDataAttr?: string; @@ -28,6 +29,7 @@ const { features, ctaLabel, ctaHref, + ctaAction, featured = false, badge, priceDataAttr, @@ -79,5 +81,5 @@ const PlanIcon = PLAN_ICONS[planId]; - {ctaLabel} + {ctaLabel} diff --git a/src/components/site/pricing/pricing.config.ts b/src/components/site/pricing/pricing.config.ts index 4424a70..9aaf235 100644 --- a/src/components/site/pricing/pricing.config.ts +++ b/src/components/site/pricing/pricing.config.ts @@ -12,6 +12,7 @@ export interface PricingPlanConfig { summary: string; ctaLabel: string; ctaHref: string; + ctaAction: string; } export interface CompareRow { @@ -30,6 +31,7 @@ export const STARTUP_PLAN: PricingPlanConfig = { summary: 'For teams with small docs sites and standard integration needs.', ctaLabel: 'Sign up', ctaHref: 'https://accounts.gopromptless.ai/sign-up', + ctaAction: 'sign_up', }; export const GROWTH_PLAN: PricingPlanConfig = { @@ -38,6 +40,7 @@ export const GROWTH_PLAN: PricingPlanConfig = { summary: 'For teams with larger docs sites and broader integrations.', ctaLabel: 'Book demo', ctaHref: 'https://cal.com/team/promptless/15m-discovery-call', + ctaAction: 'book_demo', }; export const ENTERPRISE_PLAN: PricingPlanConfig = { @@ -46,6 +49,7 @@ export const ENTERPRISE_PLAN: PricingPlanConfig = { summary: 'For teams with massive docs sites or advanced governance needs.', ctaLabel: 'Book demo', ctaHref: 'https://cal.com/team/promptless/15m-discovery-call', + ctaAction: 'book_demo', }; export const GROWTH_BUNDLE_OPTIONS: GrowthBundleOption[] = [ diff --git a/src/components/starlight/Header.astro b/src/components/starlight/Header.astro index b27d3b4..9c42cc3 100644 --- a/src/components/starlight/Header.astro +++ b/src/components/starlight/Header.astro @@ -2,6 +2,7 @@ import Search from '@astrojs/starlight/components/Search.astro'; import SiteTitle from './SiteTitle.astro'; import TopHeader from '@components/shared/TopHeader.astro'; +import AnalyticsClickTracker from '@components/shared/AnalyticsClickTracker.astro'; --- @@ -10,6 +11,7 @@ import TopHeader from '@components/shared/TopHeader.astro'; +