> ## Documentation Index
> Fetch the complete documentation index at: https://docs.remapdb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Code installation

> Install the Remapdb embed code correctly and validate the widget on your live website.

<Warning>
  Always configure allowed websites first. The code can be present on the page, but the widget will still fail to render if the website is not allowed.
</Warning>

## Step 1: Add website in Remapdb

<Steps>
  <Step title="Open Add allowed websites">
    In `Installation`, find **1. Add allowed websites**.
  </Step>

  <Step title="Enter the exact website">
    Paste/type the exact website where the widget will run.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>

  <Step title="Add additional websites if needed">
    If your widget is used on multiple websites, click **Add website** and save each one separately.
  </Step>
</Steps>

## Step 2: Install widget code

<Steps>
  <Step title="Open the Code tab">
    In `Installation`, stay on the **Code** tab.
  </Step>

  <Step title="Copy widget code">
    In **2. Install widget code**, click **Copy code**.
  </Step>

  <Step title="Paste into your page">
    Paste the snippet into the exact page section where the widget should appear.
  </Step>

  <Step title="Keep snippet parts together">
    Keep the wrapper `<div>` and the `<script>` in the same block. Do not separate them.
  </Step>

  <Step title="Publish">
    Save and publish/deploy your page.
  </Step>
</Steps>

The generated snippet contains:

```html theme={null}
<div class="rdb-widget" style="min-height:179px"></div>
<script async src=".../assets/widget/js/embed.js" data-widget="YOUR_WIDGET_ID" data-component-size="lg"></script>
```

## Placement rules that matter

* Use one widget instance per webpage.
* Do not remove the `data-widget` attribute.
* Do not change the script URL unless instructed by Remapdb support.
* If your CMS strips `<script>` tags, place the snippet in a code/HTML block that allows scripts.

## Verify in the live page

* Open the live public page in an incognito/private browser window.
* Confirm the widget area is visible where you placed the code.
* Select vehicle type, brand, model, generation, and engine.
* Confirm performance results load correctly.
* Submit a test quote and confirm it reaches your configured quote destination.

## Website address rules and examples

Enter the website name from the browser address bar.

Example website address:

```text theme={null}
https://shop.example.com/remap/audi-a4?source=ad
        ^^^^^^^^^^^^^^^^
        website to add
```

In this example, the value you add in **Add allowed websites** is:

```bash theme={null}
shop.example.com
```

Use these rules exactly when adding allowed websites:

* Enter only the website name, for example `example.com` or `shop.example.com`.
* Do not include page paths like `/pricing` or `/remap/audi-a4`.
* Do not include query strings like `?utm_source=...`.
* If you use multiple website variants (for example `example.com` and `shop.example.com`), add each one separately.
* The saved value must exactly match the website where the widget is running.

Good inputs:

```bash theme={null}
example.com
shop.example.com
remap.example.co.uk
```

Do not use:

```bash theme={null}
https://example.com/page
example.com/pricing
example
127.0.0.1
example_com
```

<Info>
  If your widget page is `https://tuning.example.com/chiptuning/audi-a4`, add exactly `tuning.example.com` in **Add allowed websites**.
</Info>

## Plan limits and active websites

The number of websites you can keep active depends on your plan:

| Plan | Active websites |
| ---- | --------------- |
| Free | 1 website       |
| Plus | 1 website       |
| Pro  | 5 websites      |
| API  | 1 website       |
| MAX  | 10 websites     |

<Info>
  If you move to a lower [plan](https://app.remapdb.com/settings/billing), websites above the new limit can still appear in your list, but only the allowed number will stay active until you upgrade or remove extras.
</Info>

## If it does not load

* Recheck **Add allowed websites** and confirm the saved website exactly matches the website shown in your browser address bar.
* Confirm your page, website builder, security settings, or optimization plugins are not blocking the widget script.
* Verify the copied snippet belongs to the same Remapdb account and widget you are configuring.
* Continue with [Installation troubleshooting](/widget/installation/installation-troubleshooting).
