MSA MYSTREAM AGENCY

Creating Localised Content Using HubDB and Tokens

(Scalable Personalisation for Global Audiences with HubSpot CMS and Smart Content Architecture)

For brands expanding internationally or targeting diverse segments, localisation is more than translation — it’s about serving relevant, context-aware content based on region, language, and cultural nuance. Doing this manually across pages, blogs, and campaigns is unsustainable.

HubSpot’s HubDB + personalisation tokens combo allows you to serve localised content dynamically — whether that’s regional landing pages, geo-personalised CTAs, or language-specific SEO metadata — all from a structured, scalable content system.

In this guide, you’ll learn:

  • How to architect HubDB tables for regional or language variants
  • How to use tokens to personalise content per visitor context (location, contact data, etc.)
  • How to create one template that serves 10+ localised pages
  • How to handle translation fallback, language switching, and canonical tagging
  • How to measure impact on engagement and conversion

1. Why Manual Localisation Fails at Scale

Let’s say you have:

  • 12 countries
  • 5 buyer personas
  • 3 product lines

That’s 180+ content variants — and that’s before updating copy, metadata, or offers. Common problems include:

  • Duplicate page maintenance
  • Mismatched brand voice or product positioning
  • Inconsistent tracking and conversion measurement
  • SEO penalties from duplicate or mis-tagged content

Localisation done right uses a single template, structured data, and smart logic.

2. Create a HubDB Table for Local Content

Structure it like this:

slug locale title body_content cta_text seo_description language_code canonical_url
/de/product de Produktübersicht Unsere Tools für den DACH-Raum Jetzt starten Tools für deutsche Unternehmen de /en/product
/fr/product fr Aperçu du produit Outils pour le marché français Commencer Solutions pour entreprises FR fr /en/product

slug – the path

locale – country or region variant

language_code – for hreflang or lang attributes

canonical_url – to avoid duplicate content issues

You can add as many fields as needed: images, testimonials, pricing, FAQ snippets, etc.

3. Build the Dynamic Page Template

Use HubL to pull data from HubDB based on URL:

{% set page = hubdb_table_rows(12345) | selectattr("slug", "equalto", request.path) | first %}
<h1>{{ page.title }}</h1>
<p>{{ page.body_content }}</p>
<a href="/contact">{{ page.cta_text }}</a>

Use the language_code to set:

*lt;html lang="{{ page.language_code }}">

And set SEO tags:

<title>{{ page.title }}</title>
<meta name="description" content="{{ page.seo_description }}">
<link rel="canonical" href="{{ page.canonical_url }}">

4. Personalise with Tokens: Location, Persona, or Device

For logged-in users or email-driven visits, you can personalise beyond locale:

{% if contact.industry == "Finance" %}
<p>Discover how we support financial services in {{ contact.country }}.</p> {% endif %}

Or show different CTA buttons based on lifecycle stage:

{% if contact.lifecyclestage == "lead" %} <a href="/demo">Book a Demo</a>
{% else %}
<a href="/case-study">View Success Stories</a> {% endif %}

This blends structured localisation (HubDB) with real-time personalisation (tokens).

5. Add Language Switching and hreflang Support

Create a table of available languages/URLs:

language_code label url_slug
en English /en/product
fr Français /fr/product
de Deutsch /de/product

Use HubL to render language selector:

<ul class="language-switcher">
{% for lang in hubdb_table_rows(6789) %}
<li><a href="{{ lang.url_slug }}">{{ lang.label }}</a></li>
{% endfor %}

Set hreflang in <head>:

{% for row in hubdb_table_rows(12345) %}
<link rel="alternate" hreflang="{{ row.language_code }}" href="{{ row.slug }}">
{% endfor %}

6. Localisation QA: Preview, Fallbacks, and Staging

  • Use Content Staging to preview language variants
  • Set default content fallback: {{ page.title or "Default Title" }}
  • Use a QA HubDB column (ready_for_publish) to control visibility
  • Schedule localisation rollouts using the Marketing Calendar

7. Measure Performance of Localised Content

Use HubSpot Campaigns to group variants and track:

  • Page views per region
  • Conversion rates per CTA
  • Time-on-page per language
  • UTM + Smart Content combinations

Connect with Google Search Console to measure local CTRs and keyword rankings.

Bonus: Create custom dashboards filtered by country or language to see engagement trends and drop-off points.

Conclusion

By using HubDB and personalisation tokens, HubSpot enables brands to serve regionally-relevant content without duplicating effort — and without compromising on SEO, performance, or scale. Whether you're entering new markets or segmenting existing ones, structured localisation will drive stronger engagement and better conversions.

Up next: [How to Auto-Publish and Localise Blog Posts via HubDB and the HubSpot API]

Email us right here