---
title: Install Personizely on Webflow or Square
slug: install-webflow-square
description: Install Personizely on Webflow or Square Online by connecting your site: how the snippet is added, Webflow custom code limits, manual install, checks.
docTags: 
createdAt: 2026-10-16T19:34:52.870Z
---

To install Personizely on a Webflow site or a Square Online site, connect the site from Personizely. Personizely then adds its snippet to the site for you through the platform's API, and keeps it updated when you change the loading setting. You can also paste the script tag yourself, as on any website.

**Available on:** Webflow sites and Square Online sites.

## Connect Webflow

1. In Personizely, go to **Settings → Integrations → Webflow** and click connect.
2. Sign in to Webflow, choose the site and approve access.
3. Personizely registers a site script named **Personizely Snippet** and applies it to the site.
4. **Publish** your Webflow site so the script is included on the live site.

## Connect Square

1. In Personizely, go to **Settings → Integrations → Square** and click connect.
2. Sign in to Square, choose the Square Online site and approve access.
3. Personizely adds the snippet to the site's `<head>` automatically.

On both platforms, **Settings → Website** in Personizely confirms "The code was automatically installed to ."

:::Iframe{code="<your domain>"}

:::

## Webflow: custom JavaScript doesn't run when connected

When the Webflow integration is connected, custom JavaScript in Personizely is turned off for that website. This affects:

- campaign-level and variation-level **JS** in content campaigns;
- the **Execute JS** widget automation;
- any targeting or dynamic-text setting that evaluates your own JavaScript code.

Everything else (content changes, styles, widgets, targeting, goals) works normally. If you need custom JavaScript, don't connect the integration. Install the script tag manually instead (see below).

## Install manually instead

Copy the snippet from **Settings → Website** in Personizely and paste it into:

- **Webflow:** Site settings → Custom code → **Head code**, then publish.
- **Square Online:** the site's header code or tracking code setting, if your plan includes it.

A manually pasted tag loads directly from your `<head>`. With synchronous loading, it gives the best protection against flicker in content A/B tests. See [Install with a script tag or Google Tag Manager](docId\:HzXT4v0LX4gGBbEWmEtFf). Don't use the integration and a manual tag at the same time.

## Loading setting

**Settings → Tracking → Asynchronous script loading** is pushed to the connected site automatically; you don't need to re-copy anything. On Webflow, the connected script is added to the page by a small loader, so it never blocks rendering. If you run content A/B tests above the fold on Webflow, use the manual install with synchronous loading. See [Performance and flicker](docId\:sgD1BsYNMvpjqHqp_qcdi).

## Tracking purchases

Webflow and Square don't send orders to Personizely. To track purchases and other conversions, use:

- [Goals](docId\:XSkE1LjM1yiNhLBzpr1B1) based on page views (for example, the order confirmation page), clicks or form submits;
- the [Google Analytics 4 and GTM](docId\:NwHWpmwoIntBLz7-PTe3q), which records GA4 ecommerce `purchase`, `begin_checkout` and `add_to_cart` events pushed to the `dataLayer`;
- the [JavaScript API (window.ply)](docId\:d64TegyOiwNA2GFG1eXPm).

## Verify it works

1. Open your published site in a normal browser window (not the Webflow Designer or Square's editor).
2. Open the developer console. You should see `Personizely initialized. Startup time: <n>ms`.
3. In Personizely, look at the **Snippet** card on the **Dashboard**, or click **Check code** in **Settings → Website**.

## Troubleshooting

- **Nothing in the console on Webflow** → publish the site; the script is only included in the published version.
- **Custom JS in a campaign does nothing on Webflow** → expected while the Webflow integration is connected. Disconnect it and install the script tag manually.
- **The snippet loads twice** → you connected the integration and also pasted the tag. Remove one; only the first copy runs.

## Related

- [Install Personizely](docId\:fLX7cCmHhCf5QIV_3gGvF)
- [Install with a script tag or Google Tag Manager](docId\:HzXT4v0LX4gGBbEWmEtFf)
- [Performance and flicker](docId\:sgD1BsYNMvpjqHqp_qcdi)
- [Goals](docId\:XSkE1LjM1yiNhLBzpr1B1)
- [Verify and troubleshoot your installation](docId\:fM8b-wlEZqwZo2lSY7r4i)
