Connect script values to data without inventing what to say.
Type a left brace to insert a data token, choose how that occurrence should be spoken, and use the Criteria menu to hear it with a real value.
Open the data token picker
- Place the caret where the value should be spoken.
- Type {.
- Choose a source under User context, Events, POI, or DATA.
- Navigate to a context concept, competition, list, or collection.
- Select the field and, when offered, its spoken form.
- Inspect the resulting token and Dynamic Properties.
The token stores a structured binding, not only its visible label. Avoid copying only the rendered text when you intend to preserve the data source.
User context
User context describes the listener's local date, place, or weather for the request. It is different from a custom request parameter: parameters can drive a rule, while a User Context token inserts one of the supported spoken facts below.
Date & time
Insert Date, Part of day, or Month. Date can be relative, a weekday, or an exact spoken date; Month also offers day and period forms.
Location
Insert Current location, City, Region, or Country. Choose the original name or the ad's language; a composite location can include its region or the full known location.
Weather
Insert Condition, Temperature, Feels like, High today, or Low today. Available wording is filtered to forms the creative's language can speak.
Device
Insert Device Type or OS Family when that spoken fact belongs in the message. The device category is supplied with the request; it is not inferred from the script.
For example, choose User context → Location → City. A supplied city, region, or country takes priority; otherwise valid latitude and longitude can resolve the place. When the place cannot be worked out for a request, the rule in When a value is missing applies.
Preview with Criteria
What the editor shows and plays inside a token is decided by the Criteria menu in the Creatives tab, and by nothing else. Delivery rules have no part in it.
- User context sets the listener used for location, date, and weather tokens. Choose Current location, Pick on map… to click or search a place and confirm with Use this point, or one of the places listed as Recently used.
- A POI list or data collection has its own entry with its first five records. Choose the record to hear.
- A sport feed has an entry for one round of matches, each shown with its date and its score or status.
Without a choice, tokens preview your current location, the first record of a list, and the first match of the round. The choice is for listening only and is never published.
Dynamic Properties
The properties panel is the control surface for the selected dynamic segment or token. Depending on type, it can show source, category, field, spoken form, options, preview, list metadata, or expression configuration.
- Confirm the source and field, not only the visible example.
- Choose the spoken form that fits the surrounding sentence.
- Treat a blank format row as potentially mixed: several occurrences of that field may currently use different forms.
- Remember that the chosen format belongs to each token occurrence. A grouped row can update all occurrences it represents.
- Do not assume a preview value will become the runtime result.
- Weather tokens speak a temperature in degrees. Temperature bands such as cold, mild, or hot belong to targeting criteria and rules, where Temperature unit switches the bands between °C and °F.
When a value is missing
A token speaks the real value for the request, in the format chosen on the token. When that value is missing at request time, the creative is not served for that request, and Which creative chooses again from the creatives that remain.
Preview values are not delivered
The text shown inside a token while editing is the preview chosen from Criteria. It helps with grammar and timing, and it is never used as the spoken value for a listener.
Repair an older format
An older project can contain a spoken format that is no longer supported. Dynamic Properties names the retired format and offers a button such as Use Relative. Review and click that replacement explicitly; opening or saving the project alone does not re-approve or rewrite the token.
Create a custom criterion
- Select the text, right-click, and choose Dynamic Content → Create → Custom….
- In Name, enter the parameter the ad server sends on the ad request, for example
team. - For each value, enter the value sent on the left and what the ad says on the right.
- Use + Add value for more values, and write the default for every other case.
- Choose each value from Criteria to hear it in the sentence.
Keep one criterion responsible for one business question. The criterion's name is the request parameter, so it needs no entry of its own in Delivery › Parameters.
Expression inputs
| Input family | Typical use | Example concept |
|---|---|---|
| Listener | Where the listener is, their local time, and the weather there. | City, part of day, listener.weather. |
| Request | Values the ad server sends, and the device. | A supported team, an audience segment, device type. |
| Record | The candidate currently being evaluated. | record.city, category, sports score. |
| Computed field | A reusable derived value. | Distance in kilometres. |
| Literal | A controlled threshold or label. | Maximum distance or named segment. |
Validate and preview
Validation distinguishes an invalid expression from a transport or service failure. A valid expression is not automatically a good campaign rule: test representative, boundary, and missing-data inputs.
- A matching example.
- A non-matching example.
- The exact threshold boundary.
- A missing optional field.
- An unexpected string, list, or numeric value.
- The default outcome.
Resolution order
- RequestReceive listener and custom parameters.
- CandidatesLoad relevant feed, POI, or collection records.
- Record ruleInclude, exclude, and select a record.
- FieldsResolve canonical and computed values.
- Creative ruleSelect the message strategy.
- SpeakResolve every token of that creative; choose another creative when a value is missing.
