Proteside Docs

Installing by platform

Where to paste the snippet on HTML, Next.js, Nuxt, WordPress and other e-commerce platforms.

The dashboard generates a ready-to-use snippet for four platforms: HTML, Next.js, Nuxt and WordPress. The rule is the same on all of them: the inline bootstrapper must be the first script in the <head>, with shield.js right after it.

In the examples below, the bootstrapper's content is abbreviated. Always copy the full code from Settings → Pages & Domains, which already includes your key, your channel and your rules.

Platforms with a snippet in the dashboard

Paste the block once, as the first item in the <head>, on every page with a checkout. Also use this tab for static sites, React or Vue apps without a server framework (in index.html), and any platform that lets you edit the checkout HTML.

checkout.html
<!doctype html>
<html lang="en">
  <head>
    <!-- Proteside Start -->
    <!-- Place first in <head>, before GTM, Stripe.js, analytics, or any other scripts. -->
    <script>/* bootstrapper: full content copied from the dashboard */</script>
    <script async src="https://cdn.proteside.com/v1/shield.js"
            data-key="pk_live_3f9c1a7b2e4d6f8a0c1e3b5d7f9a1c3e"
            data-api="https://app.proteside.com/api/sdk"></script>
    <!-- Proteside End -->

    <meta charset="utf-8" />
    <title>Checkout · My Store</title>
    <!-- GTM, analytics and other scripts come after -->
  </head>
  <body>
    <!-- ... -->
  </body>
</html>

Other platforms

Proteside has no official app or plugin for e-commerce platforms. You always install the snippet from the HTML tab, pasted into the <head> of your checkout pages. What varies from one platform to another is whether and where it lets you edit that <head>.

Before installing, confirm three things with your platform:

  1. Which domain the checkout runs on. Many platforms host the checkout on their own domain or subdomain. The snippet must be on that domain's pages.
  2. Whether you can insert code into the checkout's <head>, not just into the rest of the store.
  3. Whether the code goes in as the first item in the <head>, inline and not deferred. If the platform only lets you add scripts after its own, the SDK works with partial coverage and raises the installation order warning.
PlatformGuidance
ShopifyThe platform itself controls the checkout. Check with Shopify support whether your plan lets you insert code into the <head> of checkout pages. Pixels and scripts that run in an isolated environment (sandbox) can't see the checkout page and won't work for Proteside.
VTEXUse the platform's checkout customization feature, if it allows code in the <head> of checkout pages. Confirm with VTEX support where the code is inserted.
NuvemshopUse the checkout's custom scripts feature, if your plan offers it. Confirm with Nuvemshop support whether the code goes into the checkout's <head>.
YampiUse the checkout's custom scripts feature, if available. Confirm with Yampi support whether the code goes into the checkout's <head>.
WooCommerceThe checkout runs on your own WordPress. Use the WordPress tab above.
TrayUse the checkout's custom scripts feature, if available. Confirm with Tray support whether the code goes into the checkout's <head>.
WixUse the site's custom code feature, if it can be applied to checkout pages. Confirm with Wix support whether the checkout accepts code in the <head>.
Custom or headless checkoutUse the HTML tab (or Next.js / Nuxt) in your payment page template.

If the platform doesn't allow code in the checkout's <head>, Proteside can't protect that page. In that case, install the snippet on the pages you control and confirm with the platform how it meets PCI DSS 4.0 requirements 6.4.3 and 11.6.1 on its own pages.

Google Tag Manager

Don't install Proteside through Google Tag Manager. GTM loads tags asynchronously, after its own container, so:

  • the bootstrapper is no longer the first script and is no longer synchronous, which is exactly what the architecture requires;
  • scripts that GTM loads before the Proteside tag escape observation;
  • blocking unauthorized containers and tags stops working, because GTM itself would be the one loading Proteside.

If you use GTM, paste the Proteside snippet before the GTM snippet in the <head>. That way, tags GTM inserts via JavaScript go through the bootstrapper and can be blocked by your rules and by the Allowed GTM containers list.

Next steps

On this page