Auto-filling captions from an element

A caption can read its own map, route, trip, star map or moon and rewrite itself when the shopper changes it. This is every token, every format option, and how to point one at a specific element.

A poster with a map usually has a line of text under it: the city name, the coordinates, the date. Typing that by hand works until a shopper changes the map, and then the caption is wrong and nobody notices before it ships.

A token fixes that. It is a placeholder you put inside a normal text layer, and it is replaced with the element’s live value everywhere the design is drawn.

The text layer keeps the token forever. Each drawing resolves it again.

That is the part worth holding on to: you never apply a token. The text layer stores it, and the value is worked out fresh every time the design is drawn.

Add one without typing it

Select the element

Click the map, route, trip, star map or moon on the canvas and open its Design tab.

Find linked text

Under Content, find Linked text. It has one row per field the element can fill in, with the field’s value right now, such as Coordinates · 52°22′03″N, 4°54′15″E. A field with no value yet shows only its name.

DashboardEarlier Caption snippets section at the bottom of a City Map Personalization tab, with clickable chips for map city, map region, map country, map coordinates and map address
Earlier layout. The chips are now the Linked text rows on the Design tab, and the plus on a row adds a text layer already filled in.

Add a field

Click the plus on a row. A new text layer appears holding that field’s token. Move it, set its font and colour like any other text.

You can also type a token into text you already have. Linked text is a shortcut, not a separate mechanism.

Every token

Maps

{{map.city}} · {{map.region}} · {{map.country}} · {{map.coordinates}} · {{map.lat}} · {{map.lng}} · {{map.address}}

Country is written in the shopper’s language, so a Dutch customer reads “Nederland” where an English one reads “Netherlands”.

Routes

{{route.name}} · {{route.distance}} · {{route.elevation}} · {{route.duration}} · {{route.pace}} · {{route.date}} · {{route.race}} · {{route.bib}} · {{route.finish}}

Values carry their unit, so {{route.distance}} prints “12.3 km” rather than a bare number.

Trips

{{trip.name}} · {{trip.from}} · {{trip.to}} · {{trip.stops}} · {{trip.count}} · {{trip.distance}} · {{trip.duration}}

{{trip.stops}} writes the whole itinerary as “Amsterdam → Brussels → Paris”.

Star maps

{{starmap.date}} · {{starmap.time}} · {{starmap.timezone}} · {{starmap.location_name}} · {{starmap.coordinates}} · {{starmap.country}} · {{starmap.constellations}}

Moons

{{moon.phase_name}} · {{moon.date}} · {{moon.day_of_week}} · {{moon.location_name}} · {{moon.coordinates}} · {{moon.country}}

The phase name and the weekday are translated, so a Dutch shopper reads “Volle maan” and “vrijdag”.

Change how a value is formatted

Add a colon and a modifier inside the token.

A date on a star map or a moon takes long, short, dd-mm-yyyy, mm-dd-yyyy, yyyy-mm-dd or roman.

{{moon.date:long}}         28 May 2026
{{moon.date:yyyy-mm-dd}}   2026-05-28
{{moon.date:roman}}        XXVIII · V · MMXXVI

Coordinates take dms or decimal, on any element that has them.

{{map.coordinates}}          52°22′03″N, 4°54′15″E
{{map.coordinates:decimal}}  52.37° N, 4.89° E

A route or trip measurement takes a unit.

{{route.distance:mi}}    7.6 mi
{{route.elevation:ft}}   1,476 ft
{{route.duration:hm}}    1h 23m
{{route.pace:imperial}}  8:51 /mi
{{trip.distance:mi}}     767 mi

A modifier the element does not recognise falls back to that field’s normal format, so a typo never prints a raw {{...}} on a customer’s poster.

Two of the same element on one design

The short form works when the design has exactly one element of that kind. For a couple’s print with two star maps, or a poster with two moons, name the layer instead.

{{starmap:layer-id.date}}
{{moon:layer-id.phase_name}}

The layer id is on the layer in the Layers panel. Without it, a design with two star maps cannot know which one a bare {{starmap.date}} means.

What happens when a value is missing

A field with nothing behind it resolves to nothing at all. A shopper who has not picked a location yet sees an empty space where the city name will go, not “undefined” and not a half-written line.

A token that cannot be matched to an element is left exactly as you typed it. That is deliberate: a visible {{map.citty}} on your own canvas is how you find the typo before a customer does.

A trip’s distance is as the crow flies

{{trip.distance}} adds up the straight-line distance from each stop to the next. It is not a distance by road: Amsterdam to Paris is about 430 km in a straight line and about 505 km by road. Word the caption so it does not promise a road figure.

A travel map whose legs follow real roads is the exception. There, road legs count by road and flights stay straight, and {{trip.duration}} adds up the time on the road. On any other travel map {{trip.duration}} stays empty.

Next

Back to What smart elements are, or see the tokens in place on a route map poster.

Related articles