> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developers.webflow.com/browser/custom-goals/off-site-conversions/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 > Track conversions that happen outside your Webflow site ## Docs - [setUserId()](https://developers.webflow.com/browser/custom-goals/off-site-conversions/setUserId.md): Identify visitors with a known user ID for off-site conversion tracking - [Server-side API](https://developers.webflow.com/browser/custom-goals/off-site-conversions/server-api.md): Send off-site conversion data to Webflow via the server-side API