Integrations overview
How to add analytics, pixels, embeds, chat widgets, and other third-party tools to a PageFork site.
A PageFork site is a regular static HTML site, so almost anything a normal website can do with client-side code — analytics, pixels, iframe embeds, chat widgets, external payment links — drops in cleanly.
This group walks through the most common integrations. If the one you need isn’t listed, the same pattern works for anything that ships with an HTML snippet.
What you can integrate
Anything that runs client-side in the browser:
- JavaScript snippets (analytics, pixels, tag managers, heatmaps).
<iframe>embeds (videos, maps, calendars, forms, prototypes).- External buttons and links (payment pages, booking pages, newsletter signups).
- Consent banners and cookie managers.
What you can’t integrate
Anything that needs your own backend:
- Custom APIs, server-side logic, databases you host.
- Server-rendered pages (Next.js routes, PHP, etc.).
- Protected/authenticated sections that check against your own user database.
- Cron jobs or scheduled background work.
If a third-party service hosts the backend for you — like a Tally form or a Stripe Payment Link — that’s still a client-side integration and works fine on PageFork.
Two ways to add an integration
Option 1 — Ask the AI
The simplest path. Tell the editor what you want in plain language. The AI knows where scripts and iframes belong in the HTML and will put them in the right place.
Add Google Analytics to the whole site. My measurement ID is G-ABC12345.
Embed this Calendly booking page after the "Book a call" heading:
https://calendly.com/yourbrand/intro
Option 2 — Paste the embed code
If a vendor gives you a snippet, paste it straight into chat and tell the AI where it should go.
Add this to the <head> of every page:
<!-- Plausible -->
<script defer data-domain="yourbrand.com"
src="https://plausible.io/js/script.js"></script>
The AI will insert it verbatim. This is the right approach when the exact code matters (pixels, tag managers, consent scripts).
Where code lands in the HTML
Most scripts go in one of three spots, and the AI picks automatically:
<head>— analytics, tag managers, consent managers. Anything that needs to run before the page renders.- Inline, in the page body — iframes, embedded widgets, images. Right where the content is.
- End of
<body>— chat widgets, non-critical scripts. Deferred until after the page paints.
You don’t need to know which is which — ask for the integration by name and the AI handles it.
Adding to every page vs. a single page
Be explicit if it matters:
- “Add GA4 to the whole site” — script lands on every page.
- “Add this embed on the pricing page” — only pricing.
- “Add this only on the homepage” — only home.
Without a scope, the AI only edits the page you’re currently viewing. See Multi-page sites for how pages work.
Removing an integration
Ask for it by name:
Remove Google Analytics from the whole site.
Remove the Intercom chat widget.
Verifying it works
After publishing, open the live site and check the vendor’s dashboard or diagnostic tool:
- GA4 — real-time report.
- Meta Pixel — Meta Pixel Helper (Chrome extension).
- Stripe Payment Link — test mode link before switching to live.
- iframe embed — just reload the page.
If nothing shows up, see Preview not updating and confirm you’ve published, not just saved a draft.
Privacy and consent
Tracking scripts almost always have privacy implications. Depending on your jurisdiction (GDPR in the EU, CCPA in California, others), you may be required to show a consent banner before loading non-essential scripts. See Cookie consent and privacy.