Skip to main content

Code injection and custom HTML

Analytics snippets, chat bubbles, and bespoke content blocks.

Written by Traian

easyboard gives you two ways to put your own code on your board, with deliberately different trust models. Code injection adds raw, unsanitized snippets (analytics tags, pixels, chat widgets, bespoke CSS) to every page of your public board; script tags actually run. The Custom HTML section in the builder is for page content: your own markup rendered inside a page, sanitized so scripts and event handlers are stripped. Pick the tool that matches the job.

Before you start

Code injection is available on the Advanced and Enterprise plans. On the Pro plan the Custom code card is replaced by an upgrade prompt; see Your easyboard subscription. The Custom HTML section in the builder is available on every plan.

Add code to your board's head or body

  1. In the sidebar, open Design and click Appearance.

  2. Scroll to the Custom code card at the bottom of the page. Its description states the contract: injected into every page of your public board, runs as-is, not sanitized.

  3. Paste snippets that belong early in the page into the Head field, for example an analytics loader like a script tag with a defer attribute pointing at your provider. Content here is added to the page's head element, and top-level script tags run.

  4. Paste snippets that should load last, such as chat widgets and pixels, into the End of body field.

  5. Click Save code. You will see a "Custom code saved" toast, and every page of your public board carries the snippets on its next load. Cancel reverts both fields to the last saved state.

To remove a snippet later, delete it from the field and save again.

What runs, and what does not

  • Your snippets execute exactly as pasted, including inline and external script tags. This is the point: normal HTML injection leaves scripts inert, so easyboard re-creates each top-level script node so the browser runs it.

  • Script tags nested inside other elements in your snippet are not executed, only top-level ones; the same caveat every tag manager has. Keep scripts at the top level of the snippet.

  • Code injection applies to your public board only, never to your admin dashboard.

  • Nothing is sanitized here. Only your board's admins can edit it, and it is your own board, so treat it with the care you would give your website's source. Paste snippets only from providers you trust.

For the common case of adding a specific analytics provider (Google Analytics, Plausible, Fathom and friends), see Add analytics and tracking; if you track visitors, check cookie consent and compliance too.

Custom HTML sections in the builder

When what you want is a bespoke content block inside a page (a formatted notice, a partner badge row, a table the rich-text editor cannot express), use the Custom HTML section instead:

The page builder where the Custom HTML section is added from the Add menu and edited against the live preview

  1. In the sidebar, open Design and click Page builder, and pick the page you want from the page switcher.

  2. Click + Add and choose Custom HTML ("Your own markup, sanitized on render. Scripts are stripped.").

  3. Click the new section and paste your markup into the HTML field. You can style and place it with the shared Style block like any other section.

  4. Click Save, then Publish in the toolbar when the page is ready. Like everything in the builder, the section is a draft until you publish; Discard resets the draft to the live page. See The visual builder.

Because this is page content, it is sanitized before rendering: script tags and event-handler attributes are removed. If you paste an analytics snippet here it will silently do nothing; that is what the Custom code card is for.

Embeds and ads: the middle ground

Two builder sections intentionally run third-party code as-is, like code injection does, because their snippets need scripts to work:

  • Embed / widget: paste the script or iframe snippet from a newsletter, scheduler or form provider (Beehiiv, Mailchimp, Substack, Typeform, Calendly and similar) and it renders inside the page.

  • Ad slot: paste your ad network's embed code (Google AdSense or any other) with an optional small label above it. For AdSense, also add your ads.txt content under SEO settings; see the SEO toolkit.

Choosing the right tool

  • Analytics, pixels, chat bubbles, site-wide CSS: Custom code on the Appearance page.

  • A one-off block of markup on one page: Custom HTML section.

  • A newsletter, booking or form embed: Embed / widget section.

  • Banner ads: Ad slot section.

Did this answer your question?