Code
The Code section is where you wire your Beacon page to anything that lives in the page’s <head>: an analytics provider, a verification meta tag, a chat widget, a font loader. It’s also where you toggle the small “Build your own Beacon” link at the bottom of your site.
Most people will paste an analytics snippet here once and never come back. That’s the right amount of attention to give this section.
Analytics
Section titled “Analytics”Beacon does not include built-in analytics or third-party tracking. Your visitors’ data is not collected, shared, or processed by Beacon in any way. If you want to track visits, clicks, or other activity on your Beacon page, add your own analytics provider in the Analytics snippet field.
Your snippet is injected directly into the <head> of your Beacon page. It runs exactly as written, with no modifications, no wrapping, and no validation.
Examples
Section titled “Examples”Plausible
<script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"></script>Umami
<script defer src="https://your-umami-instance.com/script.js" data-website-id="your-site-id"></script>Google Analytics
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXX');</script>Fathom
<script src="https://cdn.usefathom.com/script.js" data-site="XXXXXXX" defer></script>Any provider that uses a <script> or <meta> tag will work. This includes Meta Pixel, TikTok Pixel, Hotjar, Microsoft Clarity, PostHog, Mixpanel, Simple Analytics, and others.
When the field has content, the section’s status chip reads Tracking enabled. When it’s empty, the chip reads No tracking.
Custom Head Scripts
Section titled “Custom Head Scripts”The Custom head scripts field lives just below Analytics. Use it for anything in <head> that isn’t analytics. Examples:
- Site verification meta tags (Google Search Console, Pinterest, Bing Webmaster, etc.)
- Custom font loaders
- Chat widget scripts
- Open Graph or social meta overrides
Content is injected into <head> after the analytics snippet, in the order you typed it. Beacon does not wrap, validate, or modify what you paste here. Bad markup can break your site, so paste carefully.
Custom Feed Loader
Section titled “Custom Feed Loader”A few Beacon widgets — RSS/YouTube/Substack feeds and the Letterboxd tile — pull from sources that browsers aren’t allowed to fetch directly for security reasons. Beacon routes those requests through a small caching helper service. By default that’s https://rss.ignyte.me/fetch?url=, hosted free for all Beacon users.
For most personal sites, leave the Custom feed loader field blank. The default is fine.
Set this field if you’d rather run your own copy — for higher-traffic sites, privacy reasons, or because you want to fully own every dependency your site has. Paste your worker’s URL ending in /fetch?url= (the ?url= suffix matters — Beacon URL-encodes the upstream URL after it).
For the full walkthrough — deploying the Cloudflare Worker, KV cache setup, custom domain — see the Self-hosted feed loader guide. The same guide also ships with Beacon at worker/README.md in your project folder.
Footer Link
Section titled “Footer Link”A small “Build your own Beacon” link at the bottom of every page. On by default. It helps other creators discover Beacon. Uncheck the toggle to hide it on your site.
When the toggle is off, the section’s status chip reads Beacon footer link off. Otherwise it stays at the section’s overall summary (e.g., “Tracking enabled” or “All defaults”).
What Beacon Does Not Do
Section titled “What Beacon Does Not Do”- Beacon does not add any tracking, cookies, or analytics of its own.
- Beacon does not modify, wrap, or proxy your analytics snippet.
- Beacon does not validate your snippet. If you paste broken HTML, it will be injected as-is.