VWO

VWO (Visual Website Optimizer) is an experimentation, personalisation, and behavioural-analytics platform. Its Data360 module collects custom events that you turn into Metrics for A/B test goals, funnel reports, and segmentation.

Datafly Signal delivers events to VWO Data360 server-to-server from your own first-party domain. Each event is attributed to the visitor by their VWO UUID (the _vwo_uuid first-party cookie), arrives as a Data360 custom event, and carries page context plus your event properties. No browser-side VWO tracking call is required for the events Signal sends.

Prerequisites

  • A VWO account with the Data360 module enabled.
  • Your numeric VWO Account ID (dashboard URL or Account → Settings).
  • VWO SmartCode installed on your site so the _vwo_uuid cookie is set for each visitor. Signal needs a real VWO UUID to attribute the event; events without one are stored as orphans.
  • The custom event(s) you intend to send created in the Data360 module first, with a Metric built on each. Event names must match exactly: alphanumeric plus hyphen/underscore, max 40 characters.
  • Knowledge of your VWO data center (US, EU, or India) — calls to the wrong region are rejected.

Configuration

FieldRequiredDescription
VWO Account IDYesNumeric account ID, sent as the a query parameter on every event.
Data CenterYesus (default), eu, or in. EU and India accounts use regional path prefixes; the wrong choice causes rejected calls.

Configure in Signal

  1. In your Signal management UI, add a new VWO integration under Personalisation.
  2. Enter your VWO Account ID and select your Data Center.
  3. Attach the VWO blueprint to your pipeline and choose the Default preset.
  4. Ensure Datafly.js is configured to collect the _vwo_uuid cookie into vendor_ids.vwo_uuid (this is included in the default VWO collector module).
  5. Map any extra event properties you want to surface in VWO; they are forwarded under event.props.
  6. Save and deploy the pipeline.

API Endpoint

Signal POSTs each event to VWO Data360’s event-collection endpoint:

POST https://dev.visualwebsiteoptimizer.com/events/t?en=<eventName>&a=<accountId>

For non-US accounts, a regional prefix is added automatically based on your Data Center setting:

Data CenterEndpoint
UShttps://dev.visualwebsiteoptimizer.com/events/t
EUhttps://dev.visualwebsiteoptimizer.com/eu01/events/t
Indiahttps://dev.visualwebsiteoptimizer.com/as01/events/t

The endpoint is authorized by Account ID (the a query parameter); there is no separate API token on this ingestion path.

Identity Signals

VWO attributes each server-side event to a visitor using their VWO UUID:

SignalSourceVWO field
VWO UUID_vwo_uuid cookie (collected by Datafly.js)d.visId
Message IDVWO UUIDd.msgId
Session IDevent timestamp (seconds)d.sessionId

Because matching is by first-party VWO UUID, no email or phone hashing is required for VWO. Marketing consent is forwarded on every event so you can segment on it in VWO.

Event Mapping

Signal’s GA4-style event names map to VWO Data360 custom event names:

Signal eventVWO custom event
pagepageView
Products Searchedsearch
Product ViewedproductViewed
Content ViewedcontentViewed
Product AddedaddToCart
Checkout StartedcheckoutStarted
Order Completedpurchase
Signed UpsignedUp
Lead GeneratedleadGenerated

Unmapped events are dropped by default. Remember to create each custom event name in the Data360 module before sending it.

Example

A Datafly.js call on your site:

datafly.track("Order Completed", {
  order_id: "ORD-1001",
  revenue: 89.90,
  currency: "GBP",
  coupon: "WELCOME10"
});

is delivered to VWO Data360 as:

{
  "d": {
    "msgId": "4201E4DB-4C25-BA4DD31-C137C718D30E-1717689600000",
    "visId": "4201E4DB-4C25-BA4DD31-C137C718D30E",
    "sessionId": 1717689600,
    "event": {
      "name": "purchase",
      "time": 1717689600000,
      "props": {
        "isCustomEvent": true,
        "vwoMeta": { "source": "datafly-signal" },
        "page": {
          "url": "https://shop.example.com/checkout/complete",
          "title": "Order confirmed",
          "referredUrl": "https://shop.example.com/checkout"
        },
        "orderId": "ORD-1001",
        "revenue": 89.90,
        "currency": "GBP",
        "coupon": "WELCOME10",
        "consent_marketing": "granted"
      }
    }
  }
}

posted to https://dev.visualwebsiteoptimizer.com/events/t?en=purchase&a=<accountId>.

Testing

  1. Trigger an event on a page where the _vwo_uuid cookie is present.
  2. In VWO, open Data360 → Audit — accepted events appear here within a short delay.
  3. Confirm the event name matches a custom event you created, and that its Metric reflects the conversion in the relevant campaign/funnel report.

Troubleshooting

SymptomLikely cause
Events rejected / not arrivingWrong Data Center — US calls hitting EU/India or vice-versa. Recheck the setting.
Event accepted but no Metric dataThe custom event name was not created in Data360, or no Metric is built on it. Names must match exactly (max 40 chars, alphanumeric + -/_).
Events stored but not tied to a visitor_vwo_uuid was missing — VWO SmartCode not installed, or Datafly.js not collecting the cookie into vendor_ids.vwo_uuid.
Wrong Account IDVerify the a value against Account → Settings.