> This page is for Browser API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Off-site conversions

> Track conversions that happen outside your Webflow site

Off-site conversions track actions that happen outside your Webflow site. Use them when your customer journey continues beyond your website — whether that's closing a deal over the phone, processing a signup in your CRM, or tracking an in-app purchase. Reporting an off-site conversion to Webflow lets you connect those downstream actions back to the optimizations visitors saw on your site.

> **Enterprise plans only**
>
> Off-site conversion tracking is only available for Analyze and Optimize Enterprise plans.

## How off-site conversions work

1. A visitor comes to your site
2. You call the client-side API — [`wf.setUserId()`](/browser/custom-goals/off-site-conversions/setUserId) — on your site to link the visitor to a known user ID
3. Later, the visitor converts outside your site (e.g., over the phone, in your CRM)
4. Your backend triggers the [server-side API](/browser/custom-goals/off-site-conversions/server-api) — including that same user ID — to send the conversion data to Webflow
5. Webflow validates the data (authorization token, timestamps, etc.)
6. The verified conversion is attributed to the optimization that the visitor viewed

> **Info**
>
> Off-site conversions are imported in nightly batches, so conversions may not appear in Analyze/Optimize until the following day.

## Tracking off-site conversions

Tracking off-site conversions requires creating a custom goal in Webflow, and then implementing both the client-side and server-side APIs:

### Part 1: Create a custom goal in Webflow

These steps are completed by a Webflow user in your Webflow site dashboard. [Learn more about creating a custom goal in Webflow](https://help.webflow.com/hc/en-us/articles/49675035413523).

### Part 2: Configure the backend

> **Note**
>
> Every off-site conversion setup is different. Your exact configuration depends on your tools and system integrations. Use the following as building blocks.

Your development team needs to implement both the [client-side](/browser/custom-goals/off-site-conversions/setUserId) and [server-side](/browser/custom-goals/off-site-conversions/server-api) APIs to connect off-site conversions to a custom goal in Webflow.

## Prerequisites

Before getting started, your development team needs:

* The off-site conversion **authorization token**
* The custom goal **event name**
* Your Analyze/Optimize **Account ID** (provided in the code snippet generated when creating the custom goal)

> **Compliance considerations**
>
> Off-site conversion tracking involves sending user identifiers between your systems and Webflow. Before implementing:
>
> * Ensure you have appropriate consent mechanisms in place
> * Review your privacy policy to include disclosures about this data sharing
> * Consult with your legal and privacy teams about your specific obligations
>
> For guidance on protecting PII when calling `wf.setUserId()`, review our [recommended guidelines](/browser/custom-goals/off-site-conversions/setUserId#choosing-a-user-id).

## Example: Credit card signups

In this example, a visitor applies for a credit card on your site, but the actual approval happens later after a review process. Assumes you've created a custom goal in Webflow with the event name `application_accepted`.

### Step 1: Set the user ID (client-side)

When the visitor submits their application:

```javascript
wf.ready(function() {
    wf.setUserId('applicationId', '123456789');
});
```

### Step 2: Send the conversion (server-side)

When the application is approved, your backend sends the event:

```http
POST /event HTTP/1.1
Host: log.intellimize.co
Authorization: ApiKey AbCdEf123456
Content-Type: application/json

{
    "customerId": "123456789",
    "eventName": "application_accepted",
    "userDomain": "applicationId",
    "userId": "123456789",
    "actionId": "23823940",
    "actionTimestamp": 1578316150000,
    "value": 149.99
}
```

The conversion is now attributed to whatever optimization the visitor saw when they submitted their application.

## API reference

#### [setUserId()](/browser/custom-goals/off-site-conversions/setUserId)

Client-side API to identify visitors with a known user ID

#### [Server-side API](/browser/custom-goals/off-site-conversions/server-api)

HTTPS endpoint for sending off-site conversion data back to Webflow