WingifyGuides

How to Track Offline Conversions Using Wingify Data Platform

This article covers the following: * About Offline Conversions * Step 1: Get the Visitor's Wingify UUID * Step 2: Trigger a Custom Wingify Event + Example

#About Offline Conversions

Besides measuring online conversions, Wingify can also track offline ones when you provide the necessary data. Imagine you offer a software trial on your website, and people sign up online but convert offline. To measure this, integrate your CRM with Wingify, by which you get to track when website trial users get converted into paying customers offline.

With Wingify's offline conversion tracking, you can attribute revenue to specific website actions, optimizing not only for online results but also their impact on offline conversions. Insights from offline data inform marketing decisions and site improvements.

Sometimes, you may want to reach out to your website visitors and engage in a conversation to derive insights or explain to them about your products or services personally with a specific aim in mind. However, since this is a strenuous task, you need to identify potential customers before approaching them. You can do this by running an A/B test campaign in Wingify, where you can target a segment of visitors. 

For example, you can put a banner on a webpage indicating an offer or service for a segment of visitors, which can be availed by dialing your customer service. As your visitors reach out to your customer service, you can record the outcome of each of the calls and manually send the conversion information to Wingify through a payload. This way, the conversions that happen offline can be tracked in your Wingify campaign report.

Note: Offline conversions can be of various sorts, where the visitors would be converted through an offline mode or on an application, which may be different from the one where the visitor was recorded.

To use Wingify Data Platform for recording offline conversions, perform the following steps:

Pre-requisites:

For a Data Platform setup, conversions are recorded in Wingify via Metrics, which requires the specific conversion event to be defined. So, before recording your offline conversions, it is essential that you perform the following:

  1. Create a custom event in the Data Platform  module.
  2. Create a metric with the offline conversion event that you created in the previous step.
  3. Now, create a campaign using the metric.
  4. Start the campaign.

#Step 1: Get the Visitor's Wingify UUID

For tracking offline conversions, you'll need the Wingify UUID of the specific visitor you want to record a conversion for.

Note: Remember that the conversions can only be recorded for those visitors who have become part of the relevant campaign.

You can find the Wingify UUID in the visitor's browser cookies under "_wingify_uuid". This cookie is available on websites with proper Wingify SmartCode setup.

Attention: Make sure to use "wingify_uuid" and not "_wingify_uuid_v2" cookie. For cross-domain campaigns, ensure to use _wingify_uuid_<EXPERIMENT_ID> on domains where offline conversion is happening and the visitor didn't become part of the campaign in that domain.

#Step 2: Trigger a Custom Wingify Event

Now, you need to manually trigger the custom event for the offline conversion from the backend by sending the UUID pinned with your Wingify account ID in the following HTTP request format and the payload information subsequently:

Note: If you’re an agency, you'll need to collect the client's Wingify account ID beforehand.

#Custom Wingify Event Request Format

POST Request:

https://collect.wingify.net/events/t?en=<eventName>&a=<accountId>

en: Event Name

a: Account ID

Payload:

  • Accounts created before June 14, 2026
  • Accounts created on/after June 14, 2026
{
  "d": {
    "msgId": "<VWO_UUID>-<TIMESTAMP IN MILLISECONDS>",
    "visId": "<VWO_UUID>",
    "event": {
      "props": {
        "page": {
          "title": "Sample Title",
          "url": "https://www.domain.com",
          "referredUrl": ""
        },
        "isCustomEvent": true,
        "vwoMeta": {
          "source": "client"
        }
      },
      "name": "<EVENT_NAME>",
      "time": "<TIMESTAMP IN MILLISECONDS>"
    },
    "sessionId": "<TIMESTAMP IN SECONDS>"
  }
}
{
  "d": {
    "msgId": "<Wingify_UUID>-<TIMESTAMP IN MILLISECONDS>",
    "visId": "<Wingify_UUID>",
    "event": {
      "props": {
        "page": {
          "title": "Sample Title",
          "url": "https://www.domain.com",
          "referredUrl": ""
        },
        "isCustomEvent": true,
        "wingifyMeta": {
          "source": "client"
        }
      },
      "name": "<EVENT_NAME>",
      "time": "<TIMESTAMP IN MILLISECONDS>"
    },
    "sessionId": "<TIMESTAMP IN SECONDS>"
  }
}

The following table explains the parameters supplied in the custom event request payload:

Parameter Description
msgId It is the unique identifier for event requests. It is a combination of Wingify’s UUID and the timestamp of the event in this format - -
visId Wingify UUID of the current visitor
event An object containing event information
props Object containing default and custom properties of the event as a key-value pair
property1, property2 These are the custom event properties, which will be followed by their respective values in this format - "property1": "value1". For example, "visitor_location": "Delhi"
page This contains the information of the webpage from which the event is triggered
name The name of the custom event that you wish to trigger. NOTE: The name of the event can be alphanumeric and shall include hyphens and underscores. It should be devoid of spaces and subject to 40 characters.
time Timestamp in milliseconds (ms)
sessionId Timestamp in seconds

Info: If you're looking to build an integration to trigger custom events using offline conversions, then name the event in this format: [source].[Event Name]. This ensures smooth integration and a simplified debugging flow. For e****xample, if a custom event such as "ctaClick" is coming from CallRail (a third-party application), then the event name would be callrail.ctaClick.

#Example

To trigger the "productPurchased" event from your server for a user with Wingify UUID DAD28496D5AE5AC737518D9DD6CC976FE and custom event properties productCategory and price, you need to send the following request and the payload information subsequently:

POST Request:

https://collect.wingify.net/events/t?en=productPurchased&a=<accountId>

NOTE: Replace with your Wingify account ID.

Payload

  • Accounts created before June 14, 2026
  • Accounts created on/after June 14, 2026
{
  "d": {
    "msgId": "DAD28496D5AE5AC737518D9DD6CC976FE-1684227244179",
    "visId": "DAD28496D5AE5AC737518D9DD6CC976FE",
    "event": {
      "props": {
        "productCategory": "Electronics",
        "price": 350,
        "page": {
          "title": "Sample Website",
          "url": "https://sample-website/",
          "referrerUrl": ""
        },
        "isCustomEvent": true,
        "vwoMeta": {
          "source": "client"
        }
      },
      "name": "productPurchased",
      "time": 1684227244178
    },
    "sessionId": 1684227199
  }
}
{
 "d": {
   "msgId": "DAD28496D5AE5AC737518D9DD6CC976FE-1684227244179",
   "visId": "DAD28496D5AE5AC737518D9DD6CC976FE",
   "event": {
     "props": {
       "productCategory": "Electronics",
       "price": 350,
       "page": {
         "title": "Sample Website",
         "url": "https://sample-website/",
         "referrerUrl": ""
       },
       "isCustomEvent": true,
       "wingifyMeta": {
         "source": "client"
       }
     },
    "name": "productPurchased",
     "time": 1684227244178
   },
   "sessionId": 1684227199
 }
}

Now you can verify the triggered event by navigating to Data Platform > Audit in your Wingify dashboard. 

You can use the same event to create metrics and view their corresponding report in your Wingify campaign.

Attention: If your account is configured with a non-US data center, specify the ‘eu01’ (for EU) / 'as01' (for India) path prefix in the conversion call URL. Otherwise, the calls will get rejected. 
For example, https://collect.wingify.net/eu01/events/t?en=EVENT\_NAME&a=ACCOUNT\_ID

For more information, refer to Data Residency in Wingify.

#Need more help?

For further assistance, contact Wingify Support.