February 12, 2026

Why Proca widgets are better than an iframe

Proca widgets are designed to live directly inside your campaign page, in your existing CMS.

Sometimes our clients ask how that works. Does the action form appear through an iframe? The answer is: (usually) no. And that’s intentional (in other words: the widget won’t break your page!). Instead of isolating the widget from your website, Proca embeds it as part of the page itself.

The old way: iframes

An iframe (short for inline frame) is a web element that lets one page embed another page inside it. They were designed to keep two websites separate from each other, which can be useful in some cases, e.g.:

  • when embedding a YouTube video
  • when processing credit card payments
  • when loading content from an untrusted source

In those situations, isolation is a key feature. The embedded site can’t change your page, and your page can’t interfere with theirs. Because the iframe is essentially a “page inside a page”, it can’t easily interact with the surrounding website.

That creates several issues:

Styles don’t automatically match. Your website’s fonts, colours, and spacing don’t apply to the iframe content unless you recreate them manually, so the look and feel might be very different between the content inside the iframe, and the rest of your page.

Layouts are rigid. The iframe usually has a fixed height and width, which makes responsive design harder. It might break pages in some CMSs, and negatively impact the experience of the user, especially on mobile.

The content can’t interact with the page. The embedded form can’t easily show or hide elements elsewhere on the page. This ability is a key feature of our widget, which can change the appearance of a page based on user actions.

For simple embeds, that’s fine. But for interactive campaign journeys, it quickly becomes restrictive.

The Proca approach: a native widget

Proca widgets take a different approach, one that gives campaigners, the web team, and the supporter a much smoother experience.

Instead of isolating the form inside an iframe, we load the widget directly into your page using JavaScript, similar to how you might embed an external image or analytics script.

In practice, this means the widget behaves like a native part of your website. Your CMS loads a small script that tells the page how to display the action form and manage the supporter journey. Because the widget lives inside your page, it can integrate much more smoothly:

It automatically adapts to your design. Fonts, colours and layout styles from your website apply to the widget, so the action form blends naturally into the page.

The size adjusts dynamically. The widget can grow or shrink depending on the content and the user’s screen size, which is important especially for the mobile users.

It can interact with the page around it. For example, Proca can:

  • reveal different content on landing vs thank-you steps
  • show or hide elements you’ve flagged on the page, support multi-step supporter journeys without page reloads
  • display floating action buttons or prompts (e.g. that take the user directly to the form instead of having them scroll)

In short, the campaign experience becomes smoother and more flexible for the person visiting the page.

Technically, this approach is also based on a different philosophy. Iframes assume two sides that don’t trust each other. But with campaigning tools, that assumption doesn’t make much sense. If you trust Proca to collect supporter data for your campaign, and we trust you to embed our code responsibly, there’s no need to build a wall between the two systems. Removing that wall makes the integration much more powerful.

The rare exceptions

Over time, we’ve embedded Proca widgets on thousands of campaign pages, so the system already balances inheriting your site’s styles while protecting against layout or accessibility issues.

There are a few situations where clients still use an iframe, so we are ready to offer that option. Usually this happens when a CMS is very restrictive and doesn’t allow external scripts to run on pages.

If that happens, you still have options:

  • embed the widget as an iframe
  • host the JavaScript file directly on your own website
  • generate or modify the code yourself – Proca is open source, everything is transparent and flexible.

The result: campaigns that feel native

By embedding the widget directly into your website instead of isolating it inside an iframe, Proca lets campaign actions feel like a natural part of your page.

That means better design integration, smoother supporter journeys, and far more flexibility when building campaign experiences.