---
updatedAt: 2025-08-27T07:16:58.000Z
---

# FrontPage / HP4U integration

## Introduction

**Taboola's `FrontPage for Newsroom`** provides real-time engagement data, and allows you to A/B test headlines and images on your homepage.

**Taboola's `HP4U` (`Home Page For You`)** generates *personalized* recommendations on your homepage, boosting user engagement.

Both solutions rely on a **detailed** mapping of your homepage, and share a *common* integration. These steps are outlined below.

### A/B Testing

To ensure a smooth **HP4U** integration, **Taboola** implements a gradual rollout, via **A/B Testing**.

In a typical **rollout plan**, the following *test* groups are used: `1%`, `10%`, and  `90%`.

(A *control* group of `10%` is maintained post-rollout.)

> 🚧
>
> **A/B testing** is carried out by **Taboola** - *without* any action on your side.
>
> Using a special *event* exposed by **HP4U**, you can track if the current user is in the *control* or *test* group, and report this to your **analytics tool**.
>
> For more information, contact your **Taboola** *Newsroom Engagement Manager*.

### A bird's-eye view

The following summary provides a *bird's-eye view* of the integration:

> 🚧
>
> **Homepage**
>
> 1. Add the relevant `<script>` tags to your **homepage**.
> 2. Add `data-tb` attributes to **all** relevant HTML tags on your homepage.
> 3. Notify **Taboola** so that they can complete your server-side configuration.
>
> **Article pages**
>
> 1. Add the relevant `<script>` tags to your **article** pages.
>
> **Validation and verification**
>
> 1. **Validate** that you have tagged your homepage correctly.
> 2. **Verify** your implementation.

## Add scripts to the *homepage*

### loader.js

1. Add the **Taboola** *loader* script to your **homepage**, inside the `<head>` section (see below).
2. Fill in your **param** values - or use the *prefilled* script provided by your **Taboola** *Newsroom Engagement Manager*.

```html Loader script for homepage
<script>
        window._taboola = window._taboola || [];
        _taboola.push({homepage: 'auto'});
        !function (e, f, u, i) {
            if (!document.getElementById(i)) {
                e.async = 1;
                e.src = u;
                e.id = i;
                f.parentNode.insertBefore(e, f);
            }
        }
        // Fill in your Publisher ID _or_ Network ID (an alphabetic string, as provided by Taboola):
        (document.createElement('script'),
            document.getElementsByTagName('script')[0],
            '//cdn.taboola.com/libtrc/<publisher-id>/loader.js',
            'tb_loader_script');
        if (window.performance && typeof window.performance.mark == 'function') {
            window.performance.mark('tbl_ic');
        }
    </script>
```

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Param</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Instructions</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>&lt;publisher-id&gt;</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Fill in an <em>alphabetic</em> Publisher ID <strong>or</strong> Network ID, <strong>as provided by Taboola</strong>.  </p>
<p>If your Publisher ID is <code>&#39;&lt;&lt;publisherID&gt;&gt;&#39;</code>, then the URL should read:  </p>
<p><code>&#39;//c2.taboola.com/nr/&lt;&lt;publisherID&gt;&gt;/newsroom.js&#39;</code>  </p>
<p>***<strong>Note</strong>:<br>If you are using <em>network-level</em> integration at <strong>Taboola</strong>, fill in your Network ID.<br>For more detail, reach out to your **Taboola** <em>Newsroom Engagement Manager</em>.</p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

### newsroom.js

1. Immediately below the above script, add the **Taboola** *newsroom* script (see below).
2. Fill in your **param** values - or use the *prefilled* script provided by your **Taboola** *Newsroom Engagement Manager*.

```html Newsroom script for homepage
<script>
    window._newsroom = window._newsroom || [];
    window._newsroom.push({pageTemplate: 'home'}); // Fill in your template name, as provided by Taboola
    window._newsroom.push({pageDashboard: 'home'}); // // Fill in your template name, as provided by Taboola
    window._newsroom.push('auditClicks');
    window._newsroom.push('trackPage');

    !function (e, f, u) {
        e.async = 1;
        e.src = u;
        f.parentNode.insertBefore(e, f);
    // Fill in your Publisher ID (an alphabetic string, as provided by Taboola):
    }(document.createElement('script'),
            document.getElementsByTagName('script')[0], '//c2.taboola.com/nr/<publisher-id>/newsroom.js');
</script>
```

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Placeholder/Param</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Instructions</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>&lt;publisher-id&gt;</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Fill in your <em>alphabetic</em> Publisher ID, <strong>as provided by Taboola</strong>.  </p>
<p>If your Publisher ID is <code>&#39;&lt;&lt;publisherID&gt;&gt;&#39;</code>, then the URL should read:  </p>
<p><code>&#39;//c2.taboola.com/nr/&lt;&lt;publisherID&gt;&gt;/newsroom.js&#39;</code>  </p>
<p>***<strong>Note</strong>:<br><code>newsroom.js</code> does <strong>not</strong> support <em>network-level</em> integration - you <strong>must</strong> provide a specific account.<br>For more detail, reach out to your **Taboola** <em>Newsroom Engagement Manager</em>.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>pageTemplate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Fill in your template name, <strong>as provided by Taboola</strong>.<br>E.g.  <code>&#39;home&#39;</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>pageDashboard</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Fill in your dashboard name, <strong>as provided by Taboola</strong>.<br>E.g.  <code>&#39;home&#39;</code></p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

> 🚧 Guidelines
>
> 1. Load the scripts **as soon as possible** - *without* any lazy loading.
> 2. Do **not** *split* a given script into multiple parts. This can cause a race condition and may result in a **loss of data**.

## Tag the *homepage*

### Regions, items & properties

#### First steps

Prior to the implementation, your **editorial team** will work with **Taboola** to *document* all <<glossary:region>>s and <<glossary:item>>s on your homepage.

Make sure you received the above *<<glossary:scoping sheet>>* from your **Taboola** *Newsroom Engagement Manager*. Using that sheet as a guide, follow the steps below to tag all <<glossary:region>>s and <<glossary:item>>s on your homepage.

> 🚧
>
> You must tag **all** regions and items - *including* those that will *not* be personalized by **Taboola**.
>
> This allows **Taboola** to track **performance** and prevent **duplicate** <<glossary:item>>s.

#### Terminology

> 📘
>
> Refer to the [sample screenshot](https://developers.taboola.com/newsroom/docs/hp4u#a-sample-screenshot), below.

* ***Region* - a group of related *items* on the homepage - e.g. a group of items that belong to`Sports`.**
  > * In the screenshot below, the *region* is marked in <span style={{color: "#F97035"}}>orange</span> (the *outer* recatangle).
* ***Item* - a content slot on the homepage. Each item contains *properties* that must also be tagged.**
  > * In the screenshot below, the region contains 4 *items*, each marked in <span style={{color: "#0C22E5"}}>blue</span>.
* ***Properties* - The properties of a given item - e.g. category, thumbnail, links, title, date etc.**
  > * In the screenshot below, each *visible* property is marked in a different color:
  >   * *Title* - in <span style={{color: "#12C85B"}}>green</span>
  >   * *Date* - in <span style={{color: "#C4C812"}}>yellow</span>
  >   * *Thumbnail* - in <span style={{color: "#C812AB"}}>pink</span> (*first item* only)
  >   * *Category* - in <span style={{color: "#87D6E8"}}>light blue</span> (*first item* only)
  >   * *Premium* icon - in <span style={{color: "#C87F12}}"}}>brown</span> (*first 2 items* only)

#### A sample screenshot

![](https://files.readme.io/72f11c1-region_news_with_region_annot.png)

> 📘 Sample walkthrough
>
> For a guided *walkthrough* of how to tag the region depicted above, see the [sample walkthrough](https://developers.taboola.com/newsroom/docs/hp4u#a-sample-walkthrough).

### Tagging steps

#### Tag *all* regions

For **each** region on the homepage:

1. Add a `data-tb-region` attribute to the `<div>` or HTML block element that *wraps* that region.
2. Set the attribute *value* to the **region name**.

```html Example
<div class="section-sports" data-tb-region="sports">
```

> 📘
>
> Refer to the *<<glossary:scoping sheet>>* provided by your **Taboola** *Newsroom Engagement Manager*.

> 🚧 Region guidelines
>
> 1. **All** regions must be tagged - *including* regions that will *not* be personalized by **Taboola**.
> 2. Do **not** nest a region *within* another region.
> 3. Make sure that **every** item is enclosed within a region.
> 4. Assign a *region name* to each `data-tb-region` attribute:
>    1. The *name* **must** be **unique**.
>    2. Choose a **descriptive** *name* - e.g. `sport`. **Avoid** using names like `region-1`, `region-2`, etc.

#### Tag *all* items

For **each** item (content slot) in a given region:

1. Add a `data-tb-region-item` attribute to the HTML element for that item.
2. Set the attribute *value* to an **empty** string - or leave out the value altogether.

```html Example 1
<article class="card" data-tb-region-item>
```
```html Example 2
<article class="card" data-tb-region-item="">
```

> 🚧 Item guidelines
>
> * **All** items must be tagged - *including* items that will *not* be personalized by **Taboola**.
>   > There is one *exception* to this rule: if a given content slot is **dedicated** to sponsored content *or* other ad units, then it should not be tagged.
> * Do **not** assign a value to the `data-tb-region-item` attribute.
> * Make sure to tag all **relevant** item *properties*  - see next section.

#### Tag *all* item properties

1. For **each** property in a given item, add the **relevant** `data-tb` attribute.
   > See *below*: [Available data attributes](https://developers.taboola.com/newsroom/docs/hp4u#available-data-attributes)
2. Set the attribute *value* to an **empty** string - or do not provide an assignment at all.

An example - tagging the item's thumbnail:

```html Example 1
<img src="https://www.example.com/latest-news/gbiv68/picture272621373/alternates/LANDSCAPE_768/Heat76ersBasketball%20(1).JPG"
                        alt="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                        loading="lazy" data-tb-thumbnail />
```
```html Example 2
<img src="https://www.example.com/latest-news/gbiv68/picture272621373/alternates/LANDSCAPE_768/Heat76ersBasketball%20(1).JPG"
                        alt="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                        loading="lazy" data-tb-thumbnail="" />
```

> 🚧 Property guidelines
>
> * Tag *all***relevant** properties in the item.
>   > Any property that needs to change when providing personalized content must be tagged.
> * Note: different **items** *within the same region* might have **different properties**.
>   > E.g. some items might display an `thumbnail`, and others not.
> * Note: **not** all properties are *visible*.
>   > E.g. the *link* property is not visible.
> * Do **not** assign a value to the `data-tb` attribute.

> 📍 IMPORTANT
>
> If any needed properties are **not** tagged, then **Taboola** will **not** be able to update them.
>
> In that case, when **Taboola** provides *personalized content*, those properties will be **incorrect**.

### Data attributes

All supported **data attributes** are listed in the tables below.

> 🚧
>
> For a guided walkthrough, see the [sample walkthrough](https://developers.taboola.com/newsroom/docs/hp4u#a-sample-walkthrough), below.

#### Region

> 📘
>
> Each **region** has a single, *required* attribute.

| Name       | Data Attribute   | Usage      | Instructions                                                                                                                                                             |
| ---------- | :--------------- | :--------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Region** | `data-tb-region` | *Required* | ## Apply to the HTML **container** (e.g. `<div>`) that *wraps* the items in that **<<glossary:region>>**.Make sure to follow the [guidelines](https://developers.taboola.com/newsroom/docs/hp4u#tag-all-regions). |

#### Item

> 📘
>
> Each **item** has a single, *required* attribute.

| Name     | Data Attribute        | Usage      | Instructions                                                                                            |
| -------- | :-------------------- | :--------- | ------------------------------------------------------------------------------------------------------- |
| **Item** | `data-tb-region-item` | *Required* | Apply to the HTML element (e.g. `<div>`, `<article>`, etc.) that represents that **<<glossary:item>>**. |

#### Item properties

> 📘
>
> The *commonly used* attributes for **item <<glossary:properties>>** are listed below.

> 🚧 Tagging guidelines
>
> * Occasionally, you may need to tag a given HTML element **twice**. For example, a link that wraps a title needs to be tagged as both a *link* **and** a *title*.
> * Look carefully at the **data attributes** below:
>   * Some attributes are applied to the HTML element  *itself* (e.g. the `<img>` tag).
>   * Some attributes are applied to the element that *directly wraps* that value (e.g. for`Title`, `Date`, etc.)
>     > Make sure to tag the element that **directly** wraps that value (**not** a parent of that element).

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Name</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Data Attribute</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Usage</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Instructions</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Title</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-title</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><em>Required</em></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Apply to the HTML element that <em>directly</em> wraps the <strong>title</strong> (<strong>main headline</strong>) in that item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Link</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-link</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><em>Required</em></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><h2>Apply to the <code>&lt;a&gt;</code> tag in the item <em>that links to the target article</em>.Apply to the <code>&lt;a&gt;</code> tag <em>itself</em> - <strong>not</strong> a container that wraps <code>&lt;a&gt;</code>.## If a given item contains <strong>2 links</strong> -  e.g. for the thumbnail <em>and</em> the title - then tag <strong>both</strong> of them.For an actual example, see the <a href="doc:hp4u#a-sample-walkthrough">sample walkthrough</a>.</h2>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Thumbnail</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-thumbnail</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><h2>Apply to the <code>&lt;img&gt;</code> tag in that item.Apply to the <code>&lt;img&gt;</code> tag <em>itself</em> - <strong>not</strong> a container that wraps <code>&lt;img&gt;</code>.If the item uses a background image (applied via CSS), contact your <strong>Taboola</strong> <em>Newsroom Engagement Manager</em></h2>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Apply to the HTML element that <em>directly</em> wraps the published/updated <strong>date</strong> in that item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Category</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-category</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Apply to the HTML element that <em>directly</em> wraps the <strong>category</strong> text in that item.  </p>
<p><strong>Example 1</strong> (an <code>\&lt;a&gt;</code> tag):  </p>
<p><code>&lt;a data-tb-category href=&quot;http://domain.com/sports&quot;&gt; Sports &lt;/a&gt;</code>  </p>
<p><strong>Example 2</strong> (an <code>&lt;h2&gt;</code> tag):  </p>
<p><code>&lt;a href=&quot;http://domain.com/sports&quot;&gt; &lt;span&gt;&lt;h2 data-tb-category&gt;Sports&lt;/h2&gt;&lt;/span&gt; &lt;/a&gt;</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Category Link</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-category-link</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Not common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>This attribute is required in <em>certain cases only</em>, and works together with <code>data-tb-category</code> (see above row).  </p>
<p><strong>Guidelines:</strong>  </p>
<ul>
  <li><em>Always</em> tag the <em>immediate</em> parent with <code>data-tb-category</code> (see above row).</li>
  <li>If that parent is <em>not</em> an <code>&lt;a&gt;</code> element, then tag the wrapping <code>&lt;a&gt;</code> element with <code>data-tb-category-link</code>. <strong>Example</strong>: <code>&lt;a data-tb-category-link href="http://domain.com/sports"&gt;</code></li>
</ul>
<p>
<span><h2 data-tb-category>Sports</h2></span>
</a>
</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Author</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-author</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Apply to the HTML element that <em>directly</em> wraps the <strong>author</strong> text in that item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Description</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-description</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Apply to the HTML element that <em>directly</em> wraps the <strong>description</strong> (heading subtext) in that item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Alternative headline</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-alternative-headline</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Not common</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>If relevant, apply to the HTML element that <em>directly</em> wraps the <strong>alternative headline</strong></p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

#### Item properties for special use cases

> 📘
>
> Data attributes for **special use cases** are listed below.
>
> Working with these attributes typically requires some *customization*.
>
> To iron out a strategy, consult with your **Taboola** *Newsroom Engagement Manager*.

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Name</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Data Attribute</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Usage</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Instructions</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Video icon</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-video</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Special Use Case</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates that the <code>&lt;img&gt;</code> tag is a <em>video</em> icon.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Premium</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-premium</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Special Use Case</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates <em>premium</em> content - e.g. premium icons or text.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Extension</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-extension</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Special Use Case</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>For special use cases only.  </p>
<p>For more detail, reach out to your <strong>Taboola</strong> <em>Newsroom Engagement Manager</em></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Hide</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-hide</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Special Use Case</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates that <strong>Taboola</strong> should <strong>hide</strong> this content, when displaying a personalized recommendation.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><em>Custom</em></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-[custom_name]</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Special Use Case</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>If your item includes a property that is <strong>not</strong> listed on this page, then a <em>custom</em> property is needed for your account.  </p>
<p>For more detail, reach out to your <strong>Taboola</strong> <em>Newsroom Engagement Manager</em></p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

### A sample walkthrough

> 📘
>
> Refer to the [sample screenshot](https://developers.taboola.com/newsroom/docs/hp4u#a-sample-screenshot), above.

1. The code snippet below shows a sample *region* with **4** *items* **before**, tagging:

```text Instructions
To expand the *untagged* code snippet, select the second tab (above)...
```
```html Sample - Before tagging
<div class="digest">
    <div class="paper">
        <article class="card">
            <figure>
                <a href="https://www.example.com/sports/nba/heat/article272609902.html#storylink=hpdigest_sports"
                    class="image-link-macro kfocusable"
                    title="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                    >
                    <img src="https://www.example.com/latest-news/gbiv68/picture272621373/alternates/LANDSCAPE_768/Heat76ersBasketball%20(1).JPG"
                        alt="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                        loading="lazy"  />
                </a>
            </figure>
            <div class="label sticky">
                <h2 class="impact caps h5" >
                    Sports
                </h2>
            </div>
            <div class="package">
                <h3>
                    <a href="https://www.example.com/sports/nba/heat/article272609902.html#storylink=hpdigest_sports"
                         >
                        <svg xmlns="http://www.w3.org/2000/svg"  width="12" height="14" viewBox="0 0 12 14">
                            <path fill="#a1a1a1" fill-rule="evenodd"
                                d="m22 556c2.1421954 0 3.8910789 1.683968 3.9951047 3.80036l.0048953.19964v2h1c.5522847 0 1 .447715 1 1v6c0 .552285-.4477153 1-1 1h-10c-.5522847 0-1-.447715-1-1v-6c0-.552285.4477153-1 1-1h1v-2l.0048953-.19964c.1040258-2.116392 1.8529093-3.80036 3.9951047-3.80036zm0 7-.7053423 2.02918-2.1478272.043769 1.7119017 1.297871-.622088 2.056231 1.7633558-1.227051 1.7633558 1.227051-.622088-2.056231 1.7119017-1.297871-2.1478272-.043769zm0-5c-1.0543618 0-1.9181651.815878-1.9945143 1.850738l-.0054857.149262v2h4v-2c0-1.104569-.8954305-2-2-2z"
                                transform="translate(-16 -556)" />
                        </svg>
                        Takeaways and details from Heat’s much-needed win over 76ers to snap
                        losing skid
                    </a>
                </h3>
                <div class="update-date time" data-originalDate="1677562907" >
                    Updated February 28, 2023 12:41 AM
                </div>
            </div>
        </article>
        <div class="package">
            <h3>
                <a href="https://www.example.com/sports/high-school/article272611517.html#storylink=hpdigest_sports"
                     >
                    <svg xmlns="http://www.w3.org/2000/svg"  width="12" height="14" viewBox="0 0 12 14">
                        <path fill="#a1a1a1" fill-rule="evenodd"
                            d="m22 556c2.1421954 0 3.8910789 1.683968 3.9951047 3.80036l.0048953.19964v2h1c.5522847 0 1 .447715 1 1v6c0 .552285-.4477153 1-1 1h-10c-.5522847 0-1-.447715-1-1v-6c0-.552285.4477153-1 1-1h1v-2l.0048953-.19964c.1040258-2.116392 1.8529093-3.80036 3.9951047-3.80036zm0 7-.7053423 2.02918-2.1478272.043769 1.7119017 1.297871-.622088 2.056231 1.7633558-1.227051 1.7633558 1.227051-.622088-2.056231 1.7119017-1.297871-2.1478272-.043769zm0-5c-1.0543618 0-1.9181651.815878-1.9945143 1.850738l-.0054857.149262v2h4v-2c0-1.104569-.8954305-2-2-2z"
                            transform="translate(-16 -556)" />
                    </svg>
                    Westminster Christian’s beach volleyball squad motivated to recapture top
                    spot in state
                </a>
            </h3>
            <div class="time" >
                February 27, 2023 7:08 PM
            </div>
        </div>
        <div class="package">
            <h3>
                <a href="https://www.example.com/sports/mlb/marlins/article272610917.html#storylink=hpdigest_sports"
                     >
                    Hampson making early impression on Marlins. Plus notes on Burdick, Luzardo,
                    Sixto
                </a>
            </h3>
            <div class="time" >
                February 27, 2023 4:18 PM
            </div>
        </div>
        <div class="package">
            <h3>
                <a href="https://www.example.com/sports/nhl/florida-panthers/article272611760.html#storylink=hpdigest_sports"
                     >
                    Barkov and Bennett are out for another huge game. Here’s how the Panthers
                    must adjust
                </a>
            </h3>
            <div class="time" >
                February 27, 2023 3:05 PM
            </div>
        </div>
    </div>
    <a href="https://www.example.com/sports/" class="more-link">
        More in Sports
    </a>
</div>
```

2. **Click** below to *start*. Once the walkthrough opens,  **click** on each *step*:

<TutorialTile backgroundColor="#018FF4" emoji="" id="63ff0f14f8230f0053ef6871" link="https://developers.taboola.com/v1.0/recipes/walkthrough-tagging-a-region-with-4-items" slug="walkthrough-tagging-a-region-with-4-items" title="Walkthrough - tagging a region with 4 items" />

3. **After**  tagging, the code snippet will look like this:

```Text Instructions
To expand the *tagged* code snippet, select the second tab (above)...
```
```html Sample - After tagging
<div class="digest">
    <div class="paper" data-tb-region='sports'>
        <article class="card" data-tb-region-item>
            <figure>
                <a href="https://www.example.com/sports/nba/heat/article272609902.html#storylink=hpdigest_sports"
                    class="image-link-macro kfocusable"
                    title="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                    data-tb-link>
                    <img src="https://www.example.com/latest-news/gbiv68/picture272621373/alternates/LANDSCAPE_768/Heat76ersBasketball%20(1).JPG"
                        alt="Takeaways and details from Heat’s much-needed win over 76ers to snap losing skid"
                        loading="lazy" data-tb-thumbnail />
                </a>
            </figure>
            <div class="label sticky">
                <h2 class="impact caps h5" data-tb-category>
                    Sports
                </h2>
            </div>
            <div class="package">
                <h3>
                    <a href="https://www.example.com/sports/nba/heat/article272609902.html#storylink=hpdigest_sports"
                        data-tb-link data-tb-title>
                        <svg xmlns="http://www.w3.org/2000/svg" data-tb-premium width="12" height="14" viewBox="0 0 12 14">
                            <path fill="#a1a1a1" fill-rule="evenodd"
                                d="m22 556c2.1421954 0 3.8910789 1.683968 3.9951047 3.80036l.0048953.19964v2h1c.5522847 0 1 .447715 1 1v6c0 .552285-.4477153 1-1 1h-10c-.5522847 0-1-.447715-1-1v-6c0-.552285.4477153-1 1-1h1v-2l.0048953-.19964c.1040258-2.116392 1.8529093-3.80036 3.9951047-3.80036zm0 7-.7053423 2.02918-2.1478272.043769 1.7119017 1.297871-.622088 2.056231 1.7633558-1.227051 1.7633558 1.227051-.622088-2.056231 1.7119017-1.297871-2.1478272-.043769zm0-5c-1.0543618 0-1.9181651.815878-1.9945143 1.850738l-.0054857.149262v2h4v-2c0-1.104569-.8954305-2-2-2z"
                                transform="translate(-16 -556)" />
                        </svg>
                        Takeaways and details from Heat’s much-needed win over 76ers to snap
                        losing skid
                    </a>
                </h3>
                <div class="update-date time" data-originalDate="1677562907" data-tb-date>
                    Updated February 28, 2023 12:41 AM
                </div>
            </div>
        </article>
        <div class="package" data-tb-region-item>
            <h3>
                <a href="https://www.example.com/sports/high-school/article272611517.html#storylink=hpdigest_sports"
                    data-tb-link data-tb-title>
                    <svg xmlns="http://www.w3.org/2000/svg" data-tb-premium width="12" height="14" viewBox="0 0 12 14">
                        <path fill="#a1a1a1" fill-rule="evenodd"
                            d="m22 556c2.1421954 0 3.8910789 1.683968 3.9951047 3.80036l.0048953.19964v2h1c.5522847 0 1 .447715 1 1v6c0 .552285-.4477153 1-1 1h-10c-.5522847 0-1-.447715-1-1v-6c0-.552285.4477153-1 1-1h1v-2l.0048953-.19964c.1040258-2.116392 1.8529093-3.80036 3.9951047-3.80036zm0 7-.7053423 2.02918-2.1478272.043769 1.7119017 1.297871-.622088 2.056231 1.7633558-1.227051 1.7633558 1.227051-.622088-2.056231 1.7119017-1.297871-2.1478272-.043769zm0-5c-1.0543618 0-1.9181651.815878-1.9945143 1.850738l-.0054857.149262v2h4v-2c0-1.104569-.8954305-2-2-2z"
                            transform="translate(-16 -556)" />
                    </svg>
                    Westminster Christian’s beach volleyball squad motivated to recapture top
                    spot in state
                </a>
            </h3>
            <div class="time" data-tb-date>
                February 27, 2023 7:08 PM
            </div>
        </div>
        <div class="package" data-tb-region-item>
            <h3>
                <a href="https://www.example.com/sports/mlb/marlins/article272610917.html#storylink=hpdigest_sports"
                    data-tb-link data-tb-title>
                    Hampson making early impression on Marlins. Plus notes on Burdick, Luzardo,
                    Sixto
                </a>
            </h3>
            <div class="time" data-tb-date>
                February 27, 2023 4:18 PM
            </div>
        </div>
        <div class="package" data-tb-region-item>
            <h3>
                <a href="https://www.example.com/sports/nhl/florida-panthers/article272611760.html#storylink=hpdigest_sports"
                    data-tb-link data-tb-title>
                    Barkov and Bennett are out for another huge game. Here’s how the Panthers
                    must adjust
                </a>
            </h3>
            <div class="time" data-tb-date>
                February 27, 2023 3:05 PM
            </div>
        </div>
    </div>
    <a href="https://www.example.com/sports/" class="more-link" data-tb-category data-tb-link>
        More in Sports
    </a>
</div>
```

### Changing the homepage

> 🚧
>
> **Before** publishing a new homepage layout, make sure to update your **Taboola** integration:
>
> * Tag **all** affected regions and articles with `data-tb` attributes.
> * Sync with your **Taboola** *Newsroom Engagement Manager* to update your server-side configuration.

## Add scripts to the *article pages*

1. Add the following script to each **article**, inside the `<head>` section:

```html Newsroom (Article post)
<script>
    window._newsroom = window._newsroom || [];

    !function (e, f, u) {
        e.async = 1;
        e.src = u;
        f.parentNode.insertBefore(e, f);

    }(document.createElement('script'),
            document.getElementsByTagName('script')[0], '//c2.taboola.com/nr/<publisher-id>/newsroom.js');
</script>
```

2. Replace `<publisher-id>` with your own Publisher ID (*or* Network ID),  **as provided by Taboola** - or use the *prefilled* scripts that were provided.

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Placeholder</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Description</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>&lt;publisher-id&gt;</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Your <strong>Taboola</strong> Publisher ID (<em>or</em> Network ID)</p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>An alphanumeric String, <strong>as provided by Taboola</strong>.  </p>
<p>If your Publisher ID is <code>&#39;&lt;&lt;publisherID&gt;&gt;&#39;</code>, then the URL should read:  </p>
<p><code>&#39;//c2.taboola.com/nr/&lt;&lt;publisherID&gt;&gt;/newsroom.js&#39;</code></p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

> 📘 Which pages?
>
> Place the script on each **article** or **post** - e.g. article posts, video posts, gallery pages, etc.

> 🚧 Guidelines
>
> * Load the above scripts **as soon as possible** - *without* any lazy loading.
> * Do **not** *split* a given script into multiple parts. This can cause a race condition and may result in a **loss of data**.

## Cater for special use cases

During the initial scoping, you may decide to cater for special use cases - e.g. to implement a flow for premium content, or a flow for custom business logic.

This might include either of the following steps:

* Add **metadata** to your article pages - e.g. to tag certain pages as premium content.
* Provide **Taboola** with relevant *hooks* to your existing solution  - e.g. so **Taboola** can insert icons or text, according to your own business logic.

The exact approach taken will vary, depending on your specific needs and preferences.

Consult with your **Taboola** *Newsroom Engagement Manager* to iron out a strategy that works best for you.

## Validate your tagging

in order for **`HP4U`** and **`Newsroom`** to run smoothly, it's **critical** that all <<glossary:region>>s, <<glossary:item>>s and <<glossary:properties>> are tagged correctly.

> 🚧
>
> If tagging was **not** implemented *fully* and *correctly*:
>
> 1. *Personalized* content may display **incorrectly** (or not at all).
> 2. *Curated* content might be **duplicated** by *personalized* content.

To help with validation, **Taboola** provides a **Chrome extension**.

> 👍 Which validations does it run?
>
> A list of validation rules run by the extension can be found in the [appendix](https://developers.taboola.com/newsroom/docs/hp4u#validation-rules).
>
> ***
>
> **Tip**: These rules can also provide a valuable **guideline** for **tagging** your homepage.

### The Chrome extension

The <a href="https://chrome.google.com/webstore/detail/taboola-newsroom-chrome-e/hmmcpmedeafpgbapmiakiiapdjdljcpn" target="\_blank">**Taboola Chrome extension**</a> provides a **Head-Up Display (HUD)** of your **HP4U** configuration, allowing you to **validate your markup** and **fine-tune your settings**.

> 🚧 Setup requirements
>
> Before your team can use the **Chrome extension**:
>
> 1. **Taboola** must enable **HP4U** for *the chosen domain*.
> 2. You must [embed `newsroom.js`](https://developers.taboola.com/newsroom/docs/hp4u#add-newsroom-js) in your homepage, *under that domain*.
> 3. **Each user** that accesses the **extension** will need a **`Taboola Newsroom`** **user account** *for that domain*.
>
> ***
>
> To confirm that your setup is complete, reach out to your **Taboola** *Newsroom Engagement Manager*.

> 📘 Additional resources
>
> This page describes how to **validate your markup**.
>
> For additional information about the **Chrome extension**, see the <a href="https://newsroom-help.taboola.com/articles/chrome-extension-heads-up-display-hud/" target="_blank">**Taboola Newsroom Help Center**</a>.

### Installing the extension

1. Install the <a href="https://chrome.google.com/webstore/detail/taboola-newsroom-chrome-e/hmmcpmedeafpgbapmiakiiapdjdljcpn" target="\_blank">**Taboola Chrome extension**</a> from the **Chrome Web Store**.
   > **Tip**: Once installed, click on **Extensions** <img height="16px" src="https://files.readme.io/42fc397-image.png"/> and pin <img height="16px" src="https://files.readme.io/1e0e069-image.png"/>  the extension icon <img src="https://files.readme.io/56f4ff9-image.png"/>.

### The extension slide-out

1. Open **Google Chrome** and browse to **your homepage**. Wait for the homepage to load **fully**.
   > **Tip**: Once you have [enabled](doc:https://developers.taboola.com/web-indoc:hp4u#running-general-validations) the extension, the icon turns blue <img src="https://files.readme.io/858fca2-image.png"/> once the page has loaded.
2. Click on the extension icon <img src="https://files.readme.io/56f4ff9-image.png"/> to *slide-out* the extension window.
   > **Tip**: You may need to click on **Extensions** <img height="16px" src="https://files.readme.io/42fc397-image.png"/> to see the icon.
3. If you are not logged into **Taboola Newsroom**, the extension will prompt you to log in.
   > In order to use the **Chrome extension**, you need a **Taboola Newsroom** account with the relevant permissions.

### Two validation types

The **Chrome extension** supports **2 validation types**:

1. [**General** (*aka* **automatic**) validations](https://developers.taboola.com/newsroom/docs/hp4u-chrome-extension#running-general-validations) - these run **automatically**, as soon  as **`Display page markup`** is enabled (as explained below).
2. [**Property-specific** (*aka* **manual**) validations](doc:doc:hp4u-chrome-extension#running-property-specific-validations) - these can be enabled on a per-<<glossary:property>> basis.

### Running *general* validations

1. Open the extension **slide-out**.

2. **Enable** the extension, using the **toggle switch** provided <img height="16px" src="https://files.readme.io/bdb6f31-image.png"/> (*top, right*).
   > * **Tip**: *At any time*, use this toggle to quickly view a 'clean' homepage (without annotations).

3. In the extension **slide-out**, select the **`Validation`** **tab**, and click on the **`Display page markup`** **toggle switch** <img height="16px" src="https://files.readme.io/bdb6f31-image.png"/> (*middle, right*).

4. *On your homepage*, **note** how **each** <<glossary:item>> displays a validation **icon** <img src="https://files.readme.io/e7d2971-image.png"/>  (*top, left*):
   ![](https://files.readme.io/e6e991a-image.png)

5. Review each item of interest, and check for a **failure** or **warning** status:

   | Icon                                                                             | Status      | Description                                            |
   | :------------------------------------------------------------------------------- | :---------- | :----------------------------------------------------- |
   | <img src="https://files.readme.io/4931249-validation-error.svg" align="center"/> | **Failure** | 1 or more validations **failed** for this item.        |
   | <img src="https://files.readme.io/e7d2971-image.png" align="center"/>            | **Warning** | 1 or more properties in this item *might* need fixing. |
   | <img src="https://files.readme.io/e07e2c9-image.png" align="center"/>            | **Success** | All validations **passed** for this item.              |

6. To see more information, **mouse over** the status icon:
   ![](https://files.readme.io/0dd46f6-image.png)

   > 📘
   >
   > In the above example, the `data-tb-category` attribute was **not** applied to an **anchor** tag.
   > Since the *direct* parent of the category text might be a different tag, this is a warning only.

   > 📘
   >
   > Mousing over the status icon will show **all** warnings (and errors) that apply to that item.

### Running *property-specific* validations

> 🚧 Before you start
>
> In order to run ***property-specific* validations**,  you must turn on [***general* validations**](https://developers.taboola.com/newsroom/docs/hp4u-chrome-extension#running-general-validations).

1. In the extension **slide-out**, select the **`Validation`** tab.

2. Locate the **color-coded list** of item properties (shown  *below*).

3. For *each* item property, use the checkbox provided to turn validations on/off.

4. The following example illustrates, using the `Title` property:

   1. Select **`Title`**:
      ![](https://files.readme.io/6da056f-image.png)

   2. *On your homepage*, each\*\*`Title`\*\* is annotated, using the *same* color as the **property list**:
      ![](https://files.readme.io/4b68889-image.png)

   3. Deselect **`Title`** (by clearing the checkbox):
      ![](https://files.readme.io/7c860b3-image.png)

   4. *On your homepage*, annotations for **`Title`** are removed:
      ![](https://files.readme.io/b68ffae-image.png)

5. Continue to enable validations for **each** <<glossary:property>> of interest. *On your homepage*, each property is marked with a matching color - e.g. titles in \<span style={{
    paddingBottom: '4px',
    textDecoration: 'underline',
    textDecorationColor: 'rgb(252, 218, 40)',
    textDecorationThickness: '4px',
    border: '4px solid rgb(252, 218, 40)',
     }}>yellow</span>, links in \<span style={{
    border: '4px solid rgb(92, 184, 92)',
     }}>green</span>, etc.

6. Once you have enabled 1 or more *property-specific* validations, review each <<glossary:item>> of interest, and check for a **failure** or **warning** status:

   | Icon                                                                             | Status      | Description                                            |
   | :------------------------------------------------------------------------------- | :---------- | :----------------------------------------------------- |
   | <img src="https://files.readme.io/4931249-validation-error.svg" align="center"/> | **Failure** | 1 or more validations **failed** for this item.        |
   | <img src="https://files.readme.io/e7d2971-image.png" align="center"/>            | **Warning** | 1 or more properties in this item *might* need fixing. |
   | <img src="https://files.readme.io/e07e2c9-image.png" align="center"/>            | **Success** | All validations **passed** for this item.              |

7. To see more information for each error, **mouse over** the status icon.
   > Mousing over the status icon will show **all** warnings (and errors) for that item.

### An important caveat

**Note** that a given <<glossary:item>> might not contain the selected <<glossary:property>> **at all**. If that is intentional, then simply **ignore** the error shown.  The following **example** illustrates:

1. In the **property list**, the user selects\*\*`Author`\*\* (to run validations for items that *do* contain an author).
2. A given item (*shown below*) does not contain author text *at all*.
3. The extension detects that there is **no `data-tb-author`** attribute within that item, and flags an error: **`Missing tag(s): Author`**.
4. However, since this item is not *supposed* to contain an author *at all*, you can simply ignore the error and move on.
   ![](https://files.readme.io/80c9d33-image.png)

### Validation rules

When validating your homepage, the **Chrome extension** applies the following rules:

> 👍 Tip
>
> The rules below provide a valuable **guideline** for **tagging** your homepage.

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Severity</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Description</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-link</code> is not present in the &lt;<a href="glossary:item">glossary:item</a>&gt;.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-link</code> is present - but is not in an <code>&lt;a&gt;</code> tag.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Warning</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-link</code> is missing in the <em>additional</em> <code>&lt;a&gt;</code> tags.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Warning</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>data-tb-category</code> is not in an <code>&lt;a&gt;</code> tag.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Warning</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><h2>Data attribute is assigned to an <em>indirect</em> parent (instead of the <em>direct</em> parent).Applies to: <code>data-tb-title</code>, <code>data-tb-description</code>, <code>data-tb-category</code></h2>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>More than 1 <code>data-tb-title</code> is present in the item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>More than 1 <code>data-tb-thumbnail</code> is present in the item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>More than 1 <code>data-tb-description</code> is present in the item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>More than 1 <code>data-tb-category</code> is present in the item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><h2><em>property-specific</em> validation failed.Either the HTML element <em>is</em> present and was not tagged - i.e. an error.Or the HTML element <em>itself</em> is not present - e.g. an &lt;<a href="glossary:item">glossary:item</a>&gt; without an image - which <em>may be intentional</em>.</h2>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>&lt;<a href="glossary:Item">glossary:Item</a>&gt; is not nested within a &lt;<a href="glossary:region">glossary:region</a>&gt;.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Item is nested within another item.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Region is nested within another region.</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><strong>Error</strong></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>2 or more regions have the same name.</p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

## Verify your integration

Once your integration is complete, reach out to your **Taboola** *Newsroom Engagement Manager*. **Taboola** will assist your team to verify that the integration is working smoothly.

## Need a hand?

> 💁🏻
>
> For specific guidance, at *any* stage of the integration, reach out to your **Taboola** *Newsroom Engagement Manager*.