Integrations
Integrations connect Personizely to the rest of your stack: your store platform, email and SMS tools, CRMs, analytics, company-data providers and form-protection services. Depending on the integration, it sends form submissions to another tool, sends campaign and widget events to your analytics, brings contact data back into Personizely for targeting, or adds store data such as products, carts and orders. You manage them all in Settings → Integrations.
Available on: all platforms. Platform integrations are specific to their platform, and a few others need a specific platform (see the catalogue).
How integrations work
Every integration does one or more of these jobs:
Job | What happens | Examples |
|---|---|---|
Platform | Connects your store or site builder: installs the snippet, and adds products, carts, orders and platform-specific features | Shopify, Wix, Webflow, Square |
Automations | Adds actions you can attach to widget elements, such as "Add to list". They run when a visitor submits a form, clicks a button or spins a wheel | Klaviyo, Mailchimp, HubSpot, Postscript |
Identification | Recognizes visitors who arrive from your emails, using the subscriber ID the platform puts in links | Klaviyo kl_pid, Mailchimp mc_eid |
Two-way sync | Receives list, subscription and profile changes back from the platform, for targeting | Mailchimp, Brevo, HubSpot |
Analytics | Sends campaign and widget events to an analytics tool already on your site | Google Analytics, Segment, Clarity |
Enrichment | Adds company data to the visitor for B2B targeting | Clearbit, Albacross |
Form protection | Checks form submissions | Bouncer, reCAPTCHA |
Connecting an integration
- Go to Settings → Integrations. Use the search box or the Platforms, Email, SMS, Enrichment and Other filters.
- Click Connect (or Enable) on the integration. What happens next depends on how it connects:
Connection type | What you do |
|---|---|
OAuth | You're sent to the other platform to log in and approve access, then back to Personizely |
API key | You paste an API key, and for some platforms a second credential such as an account URL, secret or username. The form says where to find each value |
Enable | No credentials. The integration starts working with the tool's script that's already on your site |
App install | Shopify and Wix connect when you install the Personizely app from their app stores. See Install Personizely |
- If the integration supports custom field mapping, the Mappings dialog opens right after you connect. See Field mapping.
Each connected integration shows these buttons:
- Disconnect (or Disable): turns the integration off. Its automations stop running and appear greyed out in widgets, its filters stop updating, and for analytics integrations events stop being sent. Shopify and Wix can't be disconnected here; uninstall the app on that platform instead.
- Mappings: opens field mapping, for integrations that support it.
- Refresh: reloads lists, tags, fields and other options from the platform. Use it after you create a new list or field there.
The Platforms filter shows the platform you subscribed through.
Catalogue
Connection: OAuth, API key (with any extra credentials in brackets), Enable (no credentials) or App install. "All" means every platform Personizely runs on.
Platforms
Integration | Category | Connection | What it does | Platforms | Page |
|---|---|---|---|---|---|
Shopify | Platform | App install (OAuth) | Installs the snippet; products, carts, orders, customers, markets, discounts, themes; server-side order tracking; Shopify automations (Add customer, Apply discount, Add a product to the cart, Set cart attribute, Change user consent) | Shopify | |
Wix | Platform | App install (OAuth) | Installs the snippet; products, cart, order history and purchase tracking; automations Add contact, Add label to contact, Subscribe, Checkout | Wix | |
Webflow | Platform | OAuth | Installs and updates the snippet on your Webflow site | Webflow | |
Square | Platform | OAuth | Installs and updates the snippet on your Square site | Square |
Email, SMS and CRM
Integration | Category | Connection | What it does | Platforms | Page |
|---|---|---|---|---|---|
ActiveCampaign | API key (+ account URL) | Add or update contact; add to or remove from list; add or remove tag; add to automation. List and tag targeting, click-ID identification | All | — | |
Attentive | SMS | OAuth | Add contact to a sign-up source | All | |
AWeber | OAuth | Add to, unsubscribe from or remove from list; add or remove tags. List targeting, click-ID identification | All | — | |
Brevo (Sendinblue) | API key | Add or update contact, with or without double opt-in; add to or remove from list. List targeting, click-ID identification | All | ||
Campaign Monitor | OAuth | Add to, remove from or unsubscribe from list. List targeting | All | — | |
CleverReach | OAuth | Add to list (active or inactive) with tags; remove from list; add or remove tag. Click-ID identification | All | — | |
CM Commerce | API key | Add to or unsubscribe from list | All | — | |
Constant Contact | OAuth | Add or update contact; add to or remove from list; add or remove tag; remove contact. Click-ID identification | All | — | |
ConvertKit (Kit) | API key (+ secret) | Subscribe to form; add to sequence; add or remove tag; unsubscribe. Form and tag targeting, click-ID identification | All | — | |
Dotdigital | API user (+ password, region) | Add or update contact; add to, unsubscribe from or remove from list; remove contact. Click-ID identification | All | — | |
GetResponse | OAuth | Add to list; add tag; remove contact. List targeting, click-ID identification | All | — | |
HubSpot | Email, CRM | OAuth | Add or update contact; add to or remove from static list. Property sync back to Personizely, click-ID identification | All | |
iContact | API key (+ username, password) | Add or update contact; add to or unsubscribe from list; remove contact. List targeting, click-ID identification | All | — | |
Klaviyo | Email, SMS | OAuth | Add to, subscribe to, remove from or unsubscribe from list. Click-ID identification | All | |
Mailchimp | OAuth | Add to list with tags, with or without confirmation; unsubscribe; add or remove segment, VIP status and interest. List targeting, click-ID identification | All | ||
MailerLite | API key | Add or update contact; add to or remove from group; unsubscribe. Group targeting, click-ID identification | All | — | |
Mailjet | API key (+ secret) | Add or update contact; add to, unsubscribe from or remove from list. Click-ID identification | All | — | |
Moosend | API key | Add to, remove from or unsubscribe from list. Click-ID identification | All | — | |
Omnisend | Email, SMS | API key | Add or update contact with tags, optional welcome email. Click-ID identification | All | |
Ometria | API key | Add or update contact; add to or remove from list. List targeting, click-ID identification | All | — | |
Ontraport | API key (+ App ID) | Add or update contact; add or remove tag; remove contact. Click-ID identification | All | — | |
Postscript | SMS | API key | Add subscriber to a keyword, with customer tags | All | |
Sender | API key | Add contact; add to or unsubscribe from list; remove contact; unsubscribe. Click-ID identification | All | — | |
SendGrid | API key | Add or update contact; add to or remove from list. Click-ID identification | All | — | |
Sendlane | API key | Add to or unsubscribe from list; add or remove tag; remove contact; unsubscribe. Click-ID identification | All | — | |
SendPulse | API key (Client ID + secret) | Add to address book, with or without confirmation; remove from or unsubscribe from address book; remove contact. Address book targeting, click-ID identification | All | — | |
SmartrMail | API key | Add to, remove from list; unsubscribe. Click-ID identification | All | — | |
Yotpo | Email, SMS | OAuth | Add or update customer; add to list with consent; trigger event | All | |
Zoho Marketing Automation | OAuth | Add to, remove from or unsubscribe from list; add tag | All | — |
Analytics
Integration | Category | Connection | What it does | Platforms | Page |
|---|---|---|---|---|---|
Google Analytics | Analytics | Enable | Sends campaign and widget events to GA4 or Google Tag Manager. Off Shopify and Wix, also records GA4 ecommerce events from your site as Personizely purchase, checkout and add-to-cart events | All | |
Segment | Analytics | Enable | Sends campaign and widget events as Segment track calls | All | |
PostHog | Analytics | Enable | Sends campaign and widget events to PostHog | All | |
Heap | Analytics | Enable | Sends campaign and widget events to Heap | All | |
Mixpanel | Analytics | Enable | Sends campaign exposures in Mixpanel's experiment format, and widget events | All | |
Clarity | Analytics | Enable | Tags Microsoft Clarity sessions with the campaigns, variations and widgets seen | All | |
Zuko | Analytics | Enable | Tags Zuko form-analytics sessions with the campaigns and widgets seen | All | |
Klar | Analytics | Enable | Sends A/B test groups to Klar | All (built for Shopify) |
Enrichment, form protection and other
Integration | Category | Connection | What it does | Platforms | Page |
|---|---|---|---|---|---|
Clearbit | Enrichment | API key | Identifies the visitor's company for the Company filter and {company.*} dynamic text | All | |
Albacross | Enrichment | API key | Identifies the visitor's company for the Company filter and {company.*} dynamic text | All | |
Hyperise | Other | API key (your Hyperise image template ID) | Fills the visitor's profile from Hyperise when they arrive with utm_hyperef in the URL; map up to 5 Hyperise custom fields | All | |
Bouncer | Other | API key | Verifies email addresses in widget forms before they're accepted | All | |
reCAPTCHA | Other | API key (secret key + site key) | Screens widget form submissions for bots with reCAPTCHA v3 | All | |
PreProduct | Other | Enable | Treats PreProduct pre-orders as add-to-cart events, so add-to-cart triggers work with pre-order buttons | Shopify |
Webhooks and email alerts are built in and need no integration. See Send webhook and Send alert.
Automations: the actions model
Email, SMS, CRM and platform integrations add automations to widget elements. You add them to a Form, Button, Image, Survey, Products, Countdown timer or Cart progress element, or to a wheel segment, in the element's Interaction tab: under Automation, click Add action, choose the integration in Action in, then the Action type and its options. See Widget automations.
- The visitor triggers the element, for example by submitting a form. The submitted values are saved to their profile first.
- The event is recorded, then the integration automations run on Personizely's servers, one after another in the order they're listed on the element.
- Each automation sends the visitor's profile to the platform: the submitted values plus everything Personizely already knows about the visitor, such as their name from an earlier form, their UTM source or a custom field.
What you need to know:
- Most actions need an email address, a phone number or both on the profile. Email-only platforms, such as Mailchimp, require an email. SMS platforms such as Postscript require a phone number. Klaviyo, Omnisend, Brevo, HubSpot, Attentive and Yotpo accept either. If the profile lacks what's needed, that automation is skipped.
- Order matters for list actions. For platforms where Add to list needs an existing contact (the action's help text says so), put Add or update contact above it on the same element.
- Failures don't block the visitor or the other automations. If a platform rejects a request, for example because its credentials expired, the contact is still saved in Personizely and the other automations still run. Reconnect the integration and export the missed contacts from Contacts if needed.
- Automations don't run retroactively. Submissions made before you added an automation, or while the integration was disconnected, aren't sent later.
- Previews don't run them. A preview records no events, so no data reaches your platforms during QA.
- One submission, one run. Each automation runs once per event. A visitor who submits twice is sent twice, which updates the same contact.
For email and SMS specifics, including double opt-in, see Email and SMS integrations.
Field mapping
Personizely sends the visitor's default fields (such as Email, First name, Phone) and your custom fields to the platform. How fields line up depends on the integration:
Mapping model | Integrations | How it works |
|---|---|---|
Mappings dialog | ActiveCampaign, AWeber, Brevo, Campaign Monitor, CleverReach, Constant Contact, ConvertKit, Dotdigital, GetResponse, HubSpot, Hyperise, Mailchimp, MailerLite, Mailjet, Moosend, Ontraport, Sender, SendGrid, Sendlane, SendPulse, Wix, Zoho | The dialog lists the platform's fields. For each one you pick the Personizely field that fills it, or leave it Not mapped. Only mapped fields are sent, besides the email address |
Automatic | Klaviyo, Omnisend, Attentive, Postscript, Yotpo, Ometria, CM Commerce | Standard fields (email, phone, name and others, listed on each platform's page) go to the platform's own standard properties. Every other field with a value is sent as a custom property named after the Personizely field |
- The dialog opens after you connect, and later from the Mappings button. After you add a field in your platform, click Refresh so it appears in the dialog.
- HubSpot pre-fills common mappings (first name, last name, email, phone, company, job title, address fields and country) the first time you connect.
- Only fields that have a value on the visitor's profile are sent.
- Values are converted to the platform's field type where possible: dates to the platform's date format, checkboxes to true or false in text fields, and multiple-choice answers to a comma-separated list in text fields.
- With two-way sync and identification, the same mappings work in reverse: values coming from the platform fill the mapped Personizely fields.
Identifying visitors from email links
When an email-platform integration is connected and enabled, Personizely recognizes visitors who click a link in your emails, as long as the link carries the platform's subscriber ID in the URL (for example ?mc_eid= for Mailchimp or ?kl_pid= for Klaviyo).
- The visitor lands on any page with the parameter.
- Personizely looks the subscriber up in your platform.
- If a Personizely profile with the same email already exists, the visitor is linked to it, so their history and fields follow them to the new device. Otherwise the current visitor's profile is filled with the subscriber's email, name and mapped fields.
- Targeting on that page already sees the identified profile: forms can be prefilled, dynamic text can greet them by name, and email list filters can match.
The full list of parameters is on Identifying visitors. If the integration is disconnected, the parameter is ignored.
Two-way sync
For some integrations, Personizely also listens for changes in your platform. When you connect, Personizely registers the notifications it needs in the platform itself; you don't set anything up.
Integration | What comes back | Used for |
|---|---|---|
Mailchimp | Subscribes, unsubscribes and cleaned addresses per audience; profile (merge field) changes; email address changes | Mailchimp List filter, mapped fields |
Brevo | List additions and removals, contact updates, deletions and unsubscribes | Brevo List filter, mapped fields |
HubSpot | Contact property changes; contact deletions | Mapped fields. Deleting a contact in HubSpot, including a GDPR deletion, clears that visitor's personal data in Personizely |
ActiveCampaign, AWeber, Campaign Monitor, ConvertKit, GetResponse, iContact, MailerLite, SendPulse | List, tag or form membership changes | The matching email list filters |
Yotpo | List additions and removals; the app being disconnected in Yotpo | Disconnecting Personizely inside Yotpo also disables the integration in Personizely |
Ometria | Checked live when the filter is evaluated | Ometria List filter |
Changes are applied to visitors Personizely already knows by email (or phone for Mailchimp SMS), and only from the moment you connect. Existing memberships aren't imported. See Email list and tag filters.
Behavior details and limitations
- One connection per platform per website. Each website in your account has its own integrations. To send two websites to the same Klaviyo account, connect Klaviyo on both.
- Analytics integrations need the tool on your site. Personizely uses the analytics script you already load. If it isn't on the page, nothing is sent and nothing breaks.
- Webflow disables custom JavaScript. Connecting Webflow turns off custom JavaScript in widgets and campaigns (Execute JavaScript code, custom code conditions and code-based variables), because Webflow requires it. See Install on Webflow and Square.
- Company enrichment looks up every session. With Clearbit or Albacross connected, each new browser session uses one lookup with your provider. See Company enrichment.
- Agencies using white label connect OAuth integrations through their own app credentials, set in Agency → Integrations.
- Missing an integration? Use Send webhook to post submissions to any endpoint, such as Zapier or Make, or contact support from the link under the list.
Troubleshooting
- Contacts aren't reaching the platform → check that the integration is still connected, that the profile has the email or phone the action needs, and that the automation is on the element visitors actually submit. Test on the live site, not in preview.
- "Add to list" does nothing but "Add or update contact" works → the platform needs the contact to exist first. Put Add or update contact above Add to list.
- A new list or field doesn't appear → click Refresh on the integration.
- A custom field isn't arriving → for Mappings-dialog integrations, map it in Mappings. For automatic ones, check that the visitor has a value for it.
- List filters never match → see the prerequisites in Email list and tag filters: the visitor must be known by email, and only changes after connecting are recorded.