How to add a popup to Silverstripe CMS

To add a popup to Silverstripe CMS, paste Popupsmart's embed code just before the closing body tag in your theme's main Page.ss template, deploy the change and flush the template cache. Popupsmart then builds, targets and publishes every popup from its dashboard, so there's no module to install with Composer or keep through upgrades.

Add a popup to Silverstripe CMS
Silverstripe CMS logoPopupsmart logo

Setup at a glance

Runs on
Silverstripe CMS
Where the code goes
themes/<theme>/templates/Page.ss → before </body>
Add-on
No module needed

Before you start

A Silverstripe theme lives in your project's code, not in the CMS admin, so the one edit in this guide is to a template file. You need:

  • Access to the project's code and a way to deploy it, or the person who maintains your theme. The file is themes/<your-theme>/templates/Page.ss; some projects keep it in app/templates/ instead.
  • A free Popupsmart account. The free plan covers one website and one live popup, so you can finish this guide without paying.
  • The address your visitors use for the site, which Popupsmart verifies after the install.

How to add a popup to Silverstripe CMS

The embed code goes into the main template your pages share, once. After that you build, change and publish popups in Popupsmart without touching the theme again.

Step 1: Create your Popupsmart account

Sign up for a free Popupsmart account, or sign in to the one you have.

Popupsmart Register Page

Step 2: Copy your embed code

In the dashboard, click Embed Code in the left menu.

Popupsmart Embed Code Section

Click Copy to clipboard. The code is one line, <script src="https://cdn.popupsmart.com/bundle.js" data-id="…" async defer></script>, and the data-id belongs to your account.

Copying Embed Code from Popupsmart

Step 3: Paste the code into your theme's Page.ss

Open the project in your code editor and go to your theme's templates folder. The theme in the screenshot is called simple, so the path is themes/simple/templates.

Navigating to Layout in Silverstripe

Open the Page.ss that sits directly in templates, not the one inside Layout. The main template holds the page's <html> and <body> tags; the Layout template only fills the middle of the page. Paste the embed code just before the closing </body> tag, save the file and deploy it the way you deploy any theme change.

Pasting Embed Code in Silverstripe Page.ss

Silverstripe caches its templates, so a deploy alone may not show the change. After every template deploy, I load a page with ?flush=1 added to its address while logged in as an administrator, before I check anything else.

Step 4: Add and verify your website

Back in Popupsmart, hover over the profile icon at the bottom left and click Websites.

Popupsmart Websites Section

Click + New website.

Creating a New Website in Popupsmart

Enter your site's address in the Add a new website window and click Save.

Adding Silverstripe Website in Popupsmart

Popupsmart checks the site for your embed code, and a site with the code live shows as Verified.

Verified Silverstripe Website in Popupsmart

If it shows as Unverified, click Unverified, then Verify website, and go back to the dashboard and click Refresh. The guide to verifying your website covers the other cases.

Step 5: Create your popup

Click + New Campaign on the Campaigns page. Name the campaign, choose your Silverstripe website, then pick a template and change its copy, colours and form fields to match your site.

Creating a New Campaign in Popupsmart

Step 6: Publish and check the popup on your site

Save the popup and open the Publish step. The targeting summary shows who will see the popup and when; click Publish. Then open your site in a private window and load a page. The popup appears when its trigger fires.

Publishing a Campaign in Popupsmart

Does Silverstripe have a built-in popup?

No. Silverstripe CMS doesn't include a popup builder, and extra features come as modules: according to Silverstripe's documentation on modules, you find them on Packagist or GitHub and install them with Composer. As of September 2026, Packagist lists community Silverstripe modules for cookie-consent popups and popup notification messages.

For one fixed message, a module or a modal written into your theme can do the job. Either one lives inside your project: it's installed with Composer, deployed with the site and has to keep working through every Silverstripe upgrade, and each change to it is a developer's task. Popupsmart lives outside the project: one line in Page.ss, then templates, targeting rules and lead delivery are managed from a dashboard, where a marketer can change a popup without a deploy.

How do you show a popup only on some Silverstripe pages?

A Silverstripe popup reaches only the pages you pick when the embed code stays in Page.ss and each campaign carries its own targeting rule, such as "the URL contains /news" or "the visitor is about to leave". The code only loads Popupsmart. On Silverstripe that saves a deploy: moving a popup to other pages is a dashboard change, not a code change.

Timing deserves the same attention as the page. In Popupsmart's 2026 benchmark, popups that wait before appearing convert 0.83% against 0.61% for popups shown the instant the page loads (median campaign), a lean rather than a proven gap, and exit intent shows no statistically reliable advantage. When a popup fires is worth deciding on purpose, so choose it in the same targeting step.

A Silverstripe popup works best when it matches the job of the page it sits on:

Send your Silverstripe popup leads to your email tool

Popupsmart can send every email address and name a popup collects to the tool you already use, so nobody has to export leads by hand. You connect it in the campaign's Integration section. The Mailchimp popup guide and the HubSpot popup guide walk through a connection; the help center lists 19 destinations, and a webhook, Zapier or Make covers a tool that isn't one of them.

Does a popup slow down a Silverstripe site?

A Popupsmart popup doesn't hold up a Silverstripe page: the embed code loads asynchronously (async defer), so the browser finishes building your page before it fetches Popupsmart. Nothing is added to the server side of Silverstripe: no module runs when a page is rendered.

  • The change isn't live. View the live page's source and search for cdn.popupsmart.com. If it's missing, deploy the template again and flush the cache with ?flush=1.
  • A page type has its own main template. Silverstripe looks for a template named after the page's class first, so a HomePage.ss directly in templates replaces Page.ss for that page type. Add the embed code there too.
  • The website isn't verified. A campaign runs only on a verified website; see Step 4.
  • The address doesn't match. www.example.com and example.com are different sites to a browser. Add the address your visitors actually use.
  • A Content Security Policy blocks the script. If your site sends a CSP header, add Popupsmart's script domain, cdn.popupsmart.com, to it.
  • The trigger hasn't fired yet. An exit-intent or scroll trigger waits for the visitor to leave or scroll; test in a private window and behave like a visitor.
💬
From the support queue: When a popup is missing from one kind of Silverstripe page, what I check first is whether that page type has its own main template. Silverstripe's template guide explains that templates usually share the name of the class they render, so a HomePage.ss sitting directly in templates wins over Page.ss for the home page. My advice is to list the .ss files directly in templates and add the line to each of them.

Silverstripe popup FAQ

Is there a free way to add a popup to Silverstripe?

Yes. Popupsmart's free plan is permanent, not a trial: one website, one live popup and 5,000 pageviews a month, with Popupsmart branding. It is enough to install the code and run your first popup on a Silverstripe site.

The Popupsmart pricing page compares it with the paid plans.

Do I need coding skills to add a popup to Silverstripe?

Only for the install. Pasting one line into Page.ss and deploying it is a small job for whoever maintains your theme. After that, the design, the targeting and publishing happen in Popupsmart's visual editor, without code.

Do I need a Silverstripe module for popups?

No. Popupsmart runs from the embed code in your main template, so there is nothing to install with Composer and nothing to update when you upgrade Silverstripe.

How long does it take to add a popup to Silverstripe?

The Silverstripe side is one line in Page.ss and a deploy; the rest is building the popup. Among people who published a campaign in the 90 days to 16 September 2026, the median time from signup to the first published campaign was 32.5 minutes, and 287 of 332 published within a day, according to Popupsmart's own product data. That figure covers every platform, not Silverstripe alone.

Will my Silverstripe popup work on mobile?

Yes. Popupsmart popups are responsive, the editor has a mobile view for checking the layout, and a device rule can show a popup on desktop, on mobile or on both.