Structured data

Generate structured data with JavaScript

Modern websites use JavaScript to display lots of dynamic content. There are a
few things you need to look out for when using JavaScript to generate structured data on your
websites, and this guide covers best practices and implementation strategies. If you’re new to
structured data, you can learn more about
how structured data works.

There are different ways to generate structured data with JavaScript, but the most common are:

Use Google Tag Manager to generate JSON-LD dynamically

Google Tag Manager is a
platform that lets you manage tags on your website without editing the code. To generate structured
data with Google Tag Manager, follow these steps:

  1. Set up and install Google Tag Manager on your site.
  2. Add a new Custom HTML tag to the container.
  3. Paste a supported structured data block into the tag content.
  4. Install the container as shown in the Install Google Tag Manager section of your container’s admin menu.
  5. To add the tag to your website, publish your container in the Google Tag Manager interface.
  6. Test your implementation.

Using variables in Google Tag Manager

Google Tag Manager (GTM) supports variables
to use information on the page as part of your structured data. Use variables to extract
the structured data from the page instead of duplicating the information in GTM. Duplicating the information in GTM increases
the risk of having a mismatch between page content and the structured data inserted using GTM.

For example, you can dynamically create
a Recipe JSON-LD block
that uses the page title as the recipe name by creating the following custom variable named
recipe_name:

You can then use {{recipe_name}} in your custom tag HTML.

We recommend to create variables to collect all the necessary information from the page using variables.

Here is an example for the custom HTML tag content:

Generate structured data with custom JavaScript

Another way you can generate structured data is by using JavaScript to either generate all of
your structured data or add more information to the server-side rendered structured data. Either way,
Google Search can understand and process structured data that’s available in the DOM when it
renders the page. To learn more about how Google Search processes JavaScript, check out the
JavaScript basics guide.

Here is an example of JavaScript-generated structured data:

  1. Find the type of
    structured data
    you are interested in.
  2. Edit your website’s HTML to include a JavaScript snippet like the following example (refer to
    the documentation from your CMS or hosting provider, or ask your developers).
  3. Test your implementation with the Rich Results Test.

Using server-side rendering

If you are using server-side rendering,
you can also include the structured data in the rendered output. Check the documentation
of your framework to find out how to generate the JSON-LD for the type of structured data
you’re interested in.

Test your implementation

To make sure Google Search can crawl and index your structured data, test your implementation:

  1. Open the Rich Results Test.
  2. Enter the URL that you want to test.
  3. Click Test URL.

    Success: If you did everything correctly and your structured data type is supported in the tool,
    you will see the message “Page is eligible for rich results”.
    If you are testing a structured data type that is not supported by the Rich Results test, check the rendered HTML.
    If the rendered HTML contains the structured data, Google Search will be able to process it.

    Try again: If you see errors or warnings, it is most likely a syntax error or a missing property.
    Read the documentation
    for your type of structured data
    and make sure you’ve added all the properties. If your problem
    persists, make sure to also check the guide on
    fixing search-related JavaScript problems
    .

Alien Road

Cómo lo aplicamos

Injecting structured data with JavaScript works but adds a rendering dependency. We prefer server-rendered markup and use the JavaScript path only where the platform gives no alternative.

Servicios relacionados

Compartir

© Copyright 2026 Alien Road. All rights reserved.