Help Center
Merge Tokens
Type a token into any field and the published site fills it in from Settings. Full site and location token reference, how unset values behave, and how tokens work in SEO fields.
Last updated
A merge token is a placeholder you type into a field. On the published site it is replaced with the real value from the site's Settings.
Type {{site.phone}} into a heading, a paragraph, a button label, or a link, and every place you typed it shows the phone number from Settings. Change the number once in Settings, republish, and every page is right. This is how a template pack fills itself in for a new client instead of shipping placeholder text you have to hunt down.
Tokens work in page content, in the header, in the footer, and in SEO titles and descriptions.
In a link, a token has to be the whole address, like {{site.ctaUrl}}, or tel: or mailto: followed by one token, like tel:{{site.phone}}. A token inside a longer web address would hand the value to that site, so the content checks flag it.
Where Tokens Resolve#
| Surface | Behavior |
|---|---|
| The published site | The token is replaced with the real value |
SEO title and description, social cards, structured data, llms.txt | Replaced, in the same pass |
| The builder canvas | With the Tokens switch on (the default) you see the literal {{site.phone}}; switch it off to see the values |
| The Preview link on a page row | Behaves like the published site: values fill in and an unset field shows as blank |
Seeing the literal token in the builder is deliberate. It tells you the field is token-driven rather than typed-in, and it makes an unfilled value obvious while you are working rather than after you publish.
Site Tokens#
These come from the site's Settings. They are the same for every page on the site. Most are on the Settings page; the header top-bar fields (phone labels, second phone, reviews text, special offers) and the call-to-action heading and subtext are edited in /admin, under Site Settings.
| Token | Field in Settings |
|---|---|
{{site.name}} | Site name |
{{site.tagline}} | Tagline |
{{site.phone}} | Phone |
{{site.phoneLabel}} | Phone label |
{{site.phone2}} | Second phone |
{{site.phone2Label}} | Second phone label |
{{site.email}} | |
{{site.address}} | Address |
{{site.state}} | Governing Law State |
{{site.footerText}} | Footer text |
{{site.ctaHeading}} | Call-to-action heading |
{{site.ctaSubtext}} | Call-to-action subtext |
{{site.ctaLabel}} | Call-to-action button label |
{{site.ctaUrl}} | Call-to-action button link |
{{site.reviewsText}} | Reviews text |
{{site.specialOffersLabel}} | Special offers label |
{{site.specialOffersHref}} | Special offers link |
{{footer.text}} is accepted as another spelling of {{site.footerText}}.
Business Facts#
These also come from Site Settings. A generated site fills most of them from the client's intake answers, and you can change any of them in /admin, under Site Settings.
| Token | Fills with |
|---|---|
{{site.industry}} | The business category, like Tree Service |
{{site.hours}} | The site-wide Hours of Operation line |
{{site.yearsInBusiness}} | Years in business, as a count or a founding year |
{{site.customersServed}} | Customers served, like 3,500+ |
{{site.primaryServiceArea}} | How the business describes its whole area, like Greater Richmond |
{{site.financing}} | A short financing line, like Financing Available |
Selling Points, Guarantees, Licenses, and Awards#
Four numbered lists, up to five entries each:
| Token | Fills with |
|---|---|
{{usp.1}} | The first unique selling point |
{{site.guarantee.1}} | The first guarantee |
{{site.license.1}} | The first license or certification |
{{site.award.1}} | The first award |
Swap 1 for 2 through 5. An element that references an empty slot is removed on publish, so a chip row built for five shows only the ones filled in.
Social Links#
| Token | Platform |
|---|---|
{{site.social.facebook}} | |
{{site.social.instagram}} | |
{{site.social.linkedin}} | |
{{site.social.youtube}} | YouTube |
{{site.social.twitter}} | X / Twitter |
{{site.social.googleBusinessProfile}} | Google Business Profile |
Location Tokens#
A site can have several locations. Location tokens come from the Locations list in the site's sidebar.
| Token | Field |
|---|---|
{{location.name}} | Location name |
{{location.phone}} | Phone |
{{location.email}} | |
{{location.address}} | The whole address on one line: street, suite, city, state, and postcode |
{{location.address1}} | The street line on its own |
{{location.address2}} | Suite or unit number on its own |
{{location.city}} | City |
{{location.state}} | State |
{{location.postalCode}} | Postcode |
{{location.serviceCities}} | The cities that location serves, written as a list |
{{location.gbpUrl}} | Google Business Profile link |
Social links follow the same shape: {{location.social.facebook}}, .instagram, .linkedin, .youtube, .twitter.
Embed Tokens#
Two location tokens carry raw embed HTML rather than prose, each filled from the matching box on the location:
| Token | Fills with |
|---|---|
{{location.contactForm}} | The location's contact form embed |
{{location.careersForm}} | The location's careers form embed |
Paste these into an HTML element, never into a heading or text. The value passes through verbatim, so an iframe or a widget's script snippet both work, and a bare address starting with https:// is wrapped in an iframe for you. Like every location token, they follow the section and page binding, so one template section carries each location's own form. See Forms. For reviews, use the connected Reviews element, which follows the same binding; see Auto-Updating Review Widgets.
Opening Hours#
Hours are one token per day, filled from the Hours rows on that location:
| Token | Fills with |
|---|---|
{{location.hours.monday}} | That day's range, like 8:00 AM - 5:00 PM |
{{location.hours.tuesday}} | ... through to sunday |
A day you have ticked as closed fills with the word Closed. A day with no hours
entered stays visible as its token in the builder, so you can see what is still
missing, and publishes as nothing at all.
There is no single token for the whole week. Seven separate tokens let you lay the week out however you like, in a table, a list, or a footer line.
A location has no
social.googleBusinessProfile. Use{{location.gbpUrl}}, which is a field on the location itself.
Which Location Does a Bare Token Mean?#
{{location.phone}} resolves in this order:
- The location the section is bound to, if it is bound to one
- Otherwise the location the page is set to
- Otherwise your primary location
That is what lets one template serve a single-location business and a multi-location one without editing the content. See Smart Locations.
Naming a Specific Location#
To always mean one particular location regardless of context, address it by position:
{{location.1.phone}}- the primary location's phone{{location.2.phone}}- the second location's phone
Positions are 1-based and follow the order the Locations list shows them in: primary first, then your sort order. {{location.1.*}} is the primary location on every site, which is what makes an ordinal safe to ship inside a template pack.
Every location token has this numbered form, social links and hours included. So
{{location.2.hours.monday}} is your second location's Monday hours, and
{{location.2.social.facebook}} is its Facebook link. A numbered token names its
own location, so it fills in regardless of what the page or section is bound to.
Team and Job Opening Tokens#
Site Settings carries a Team members roster and an Open positions list, up to five entries each. The client fills them in the intake's "Team & hiring" section, and you can edit them in /admin, under Site Settings. Each filled entry mints its numbered tokens:
| Token | Fills with |
|---|---|
{{team.1.name}} | The first team member's name |
{{team.1.role}} | Their role |
{{job.1.title}} | The first job opening's title |
{{job.1.type}} | Its type, like full-time |
Numbers run 1 through 5 in the order Settings lists them, and there is no bare {{team.1}}, so always name the sub-field. A card referencing an unfilled slot is removed on publish, which means a three-person team renders three clean cards from a five-card template with nothing left over.
Page Tokens#
{{page.updated}}- the date the page was last published, written out in full (for example, June 9, 2026).
Seeing Tokens While You Edit#
A filled-in token looks exactly like text somebody typed by hand, so on the canvas there is no way to tell a bound field from a literal one without opening every element.
The panel header carries a Tokens switch for that. It starts on, so you open a site seeing which fields are wired to your Settings before you start editing. Turn it off and the canvas fills every token in, showing the page the way a visitor will see it. The switch changes what the canvas draws and nothing else. What you have written, and what gets published, are the same either way.
It is worth leaving on while you edit. Typing over a filled-in token quietly disconnects that spot from Settings, and it keeps working until the day the value changes, at which point that one corner goes stale without anybody noticing.
Beside the switch is a {} button listing every token you can use, grouped by
where it reads from. Click any token to copy it. That list is generated from the
platform itself rather than written out by hand, so it can never offer you a token
that does not work, and it always matches the version of the platform you are running.
The same list is also at the bottom of each site's Settings page, under Merge Tokens.
When a Value Is Not Set#
An unset field publishes as blank. If {{site.tagline}} has no tagline behind it, the published page shows nothing there, not the raw token. A half-filled site looks unfinished rather than broken.
A token that does not exist stays visible. Type {{site.facebok}} and it publishes as literal text, exactly as written. This is deliberate: a typo you can see is a typo you can fix, whereas a typo that silently blanked would just look like an empty field forever. The platform's content checks flag unknown tokens too, including ones buried inside a link or an image attribute where you would not spot them by reading the page.
The two rules together mean: blank means "you have not filled that in yet", visible curly braces mean "that token is wrong".
{{site.url}}is not a token. There is no such field. If you have it in a page it will publish as literal text. Link to your own pages with the internal-link picker instead.
Multi-Line Fields#
Address and Footer text are multi-line boxes in Settings. When they resolve into a line of prose, the line breaks become , so the sentence reads properly. Used on their own in a footer block they keep their shape.
Tokens in SEO Fields#
Tokens work in a page or post's SEO title and description, and in the meta templates in Settings, so a whole pack of pages can carry {{site.name}} in its titles and fill in per client.
In the editor's SEO preview, a token with a value behind it resolves so you can see the real title, while an unset one stays visible so you can spot what still needs filling in.
Location tokens have no location to read in an SEO field, so they publish as blank there, numbered ones included. Keep location tokens in page content, where the binding rules above apply.
Template Packs#
The template packs ship with tokens already in place, in footers, NAP blocks, taglines, and calls to action. Import a pack, fill in Settings, and the site reads as that client's rather than as a template with someone else's details in it.
Related#
- Smart Locations - binding a section to a location, and service-area grids
- Site Settings - where the values come from
- Header and Footer - tokens resolve in both
- Page SEO - tokens in titles and descriptions
