Add Yatmo to a Webflow real estate website

A map of the neighbourhood with points of interest and real travel times, the nearest schools, shops and public transport, and a written description of the area on every property page of a Webflow site, fed by your CMS fields. No backend, no developer: one script in the site settings and three Embed elements. The same embed works on Wix, Squarespace and Framer.

A Webflow property page with the Yatmo map, the nearest places and the neighbourhood text

Before you start

1. The CMS fields

Open the Properties collection (or create it) and make sure it holds the location of each property, in one of two forms:

Discreet listings (no exact address shown) work with both: the map shows a circle instead of a pin and the text never names the street.

In Site settings > Custom code > Head code (or the page settings of the Collection page template only), paste the script and the configuration with your key, country and language, then save:

<script type="module" src="https://cdn.jsdelivr.net/npm/@yatmo/elements@1/dist/yatmo-elements.js"></script>
<yatmo-config key="YOUR_FRONTEND_KEY" country="BE" language="FR"></yatmo-config>

The key, the country (BE, FR, NL, LU, CH, DE, IT, ES, PT, IE, UK, AT, CA, GR, MA, AU, HR, MT, SI, RS, CY, BA, ME, BG, AL) and the language (EN, FR, NL, DE...) are now set once for the whole site. Custom code is applied when you publish, not in the Designer.

3. The Embed elements on the property page

Open the Properties Template page (Collection pages, in the Pages panel). Where the map should go, drag an Embed element (Add panel > Advanced) and paste:

<yatmo-map address="ADDRESS_FROM_CMS" marker="circle" isochrone="right" height="520"></yatmo-map>

In the embed editor, select ADDRESS_FROM_CMS, click + Add Field and pick the Address field of the collection: Webflow replaces it with the address of each property. With coordinates instead, use latitude="..." longitude="..." and insert the two Number fields the same way.

A second Embed for the nearest places, a third for the neighbourhood text, anywhere on the page:

<yatmo-pois address="ADDRESS_FROM_CMS" categories="education,transport,shopping" mode="walking"></yatmo-pois>

<yatmo-text address="ADDRESS_FROM_CMS" heading="h3" titles="street-city"></yatmo-text>

Each element has more attributes (layout, zoom, style, colour, rounded corners, routes, categories, paragraphs, headings...): use the generator below or the reference. The address is looked up once per page, even with three elements. The Designer shows the raw embed; the elements render on the published site.

Discreet listings
Add a Switch field Hide address to the collection, give the Embed element a conditional visibility on it, and keep two versions of the map embed: marker="circle" circle-radius="300" for discreet listings, marker="pin" for the others. For the text, titles="city" never names the street.

4. Publish and style

Publish to the staging domain and open a property page: the map loads, the places and the text appear below it in your page’s font. The elements render plain HTML (h3, p, ul) inside <yatmo-pois> and <yatmo-text>: style them from a custom code Embed with CSS, for example:

yatmo-pois { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 24px; }
yatmo-pois h3, yatmo-text h3 { font-size: 1rem; margin: 16px 0 4px; }
yatmo-pois ul { list-style: none; padding: 0; margin: 0; }

If a dashed red box appears in place of an element, it says what is missing (key, domain, address not found): it is visible to everyone, so fix it before publishing to the custom domain.

Embed code generator

Pick the options, copy the code into your Embed elements. With a key, the preview below uses it; without, the demo key.

Location
Map
Nearest places
Neighbourhood text

    

The first two lines go once in the site’s head code, the elements in Embed elements of the property page. In each element, select ADDRESS_FROM_CMS (or the coordinates) and insert the CMS field with + Add Field.

Preview

Search engines

Webflow publishes static pages, and the elements fetch their content in the visitor’s browser: the map is an iframe, the places and the text appear after the page loads. Google renders JavaScript and generally indexes such text, but it is not guaranteed and other engines or AI assistants may not. When indexable text matters, two options: paste the generated text into a Rich text field of the collection (the text plugin or the API give it to you, every language at once), or move to an integration that renders on the server: WordPress, Drupal, Laravel, Next.js.

Wix, Squarespace, Framer, Shopify

The same two snippets work in every builder that accepts custom HTML, with the address or coordinates typed per page when there is no CMS field to insert:

Runnable page: yatmo-examples/12-webflow.