You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.60.0] - 2026-06-29
9
+
10
+
### Added
11
+
12
+
- Added support for `campaignVariation` segmentation operator to evaluate web testing campaign assignments. Context can now pass `platformVariables.webTestingCampaigns` (as a JSON object or JSON string) to target users based on their web testing campaign and variation assignments.
Copy file name to clipboardExpand all lines: README.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,9 +141,30 @@ context = {
141
141
'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
142
142
'ip_address': '1.1.1.1',
143
143
'session_id': 1697123456# Optional: Custom session ID for web client integration
144
+
'platformVariables': {
145
+
# Reference example only:.
146
+
# In production, fetch campaign assignments using script run in frontend and pass that object to backend as webTestingCampaigns.
147
+
'webTestingCampaigns': '{"122":"1","130":"2"}'
148
+
},
149
+
'session_id': 1697123456# Optional: Custom session ID for web client integration
144
150
}
145
151
```
146
152
153
+
## Web testing pre-segmentation
154
+
155
+
Server-side flag decisions can align with **Web Testing** (browser) experiments. **Campaign assignments are typically read on the frontend** (for example, VWO cookies) and sent to your server; pass them in `platformVariables.webTestingCampaigns` as a map of **campaign ID -> variation ID** (strings), or as a **JSON string** of that object.
156
+
157
+
Pre-segment rules in the VWO dashboard can use the **`campaignVariation`** operator:
158
+
159
+
| Operand pattern | Meaning |
160
+
| --------------- | ------- |
161
+
|`C`| User is in campaign `C` (any variation). |
162
+
|`!C`| User is **not** in campaign `C`. |
163
+
|`C_V`| User is in campaign `C` with variation `V`. |
164
+
|`C_!V`| User is in campaign `C` and assigned variation is **not**`V`. |
165
+
166
+
Rollout rules evaluate pre-segments from the **first variation** only; AB/testing rules use **campaign-level** segments.
167
+
147
168
## Session Management
148
169
149
170
The SDK provides automatic session management capabilities to enable seamless integration with VWO's web client testing campaigns. Session IDs are automatically generated and managed to connect server-side feature flag decisions with client-side user sessions.
0 commit comments