> For the complete documentation index, see [llms.txt](https://docs.mediarithmics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mediarithmics.io/setup-and-monitor/plan-and-integrate/set-up-the-environment/set-up-device-registries.md).

# Device registries

Create or subscribe to a registry for every device and network identifier you intend to ingest.

## Your goal

Make sure every device or network identifier you are about to send has a registry to be stored in, before the data arrives.

## Expected outcome

Each identifier type in your integration is backed by a registry that exists, is linked to the right datamarts, and - where required - is enabled on the channels that will send it.

{% hint style="danger" %}
Create or subscribe to the required registries **before** using them to identify user data. If user data is received under unknown registries, the identifiers are removed and the data may not be ingested properly.
{% endhint %}

## What a device registry is

In each datamart, all device information is stored in a device graph. Device technical identifiers in that graph are always related to a **registry**: the place where identifiers of a given kind are stored. Device-based network IDs work through registries for exactly this reason - each device is assigned a registry where its identifiers are kept.

Registries are related to **organisations**, and are managed in **Settings > Organisation > Device Registries**.

## Registry types

There are several registry types, and what you can do with a registry depends on its type.

| Type                    | What it holds                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `INSTALLATION_ID`       | One registry is created per site on which the installation ID feature is activated.                                                                                                                                      |
| `MOBILE_ADVERTISING_ID` | Mobile advertising IDs that can be shared across editors - for instance Android Advertising IDs (AAID) and Apple Identifier for Advertisers (IDFA).                                                                      |
| `MOBILE_VENDOR_ID`      | Mobile IDs that can only be shared among apps of the same developer account - for instance Apple Identifier for Vendors (IDFV).                                                                                          |
| `TV_ADVERTISING_ID`     | Registries referring to smart TVs and TV boxes: AAID on Android TV and Android boxes, IDFA on Apple TV, Amazon Advertising ID on Fire TV, Tizen Advertising ID on Samsung Smart TV, and similar.                         |
| `NETWORK_DEVICE_ID`     | IDs that are device-related and managed by third parties - for instance ID5 or First-ID.                                                                                                                                 |
| `CUSTOM_DEVICE_ID`      | Your own device identifier, for instance a first-party cookie that you generate.                                                                                                                                         |
| `MUM_ID`                | "mediarithmics User Mapping Identifier". This type and the single registry it contains host the mediarithmics third-party cookie (`vector_id`) and references to partners' third-party cookies, until their deprecation. |
| `IP_V4_ADDRESS_ID`      | IPv4 addresses. Can be generated automatically when IP address auto-capture is activated on a channel.                                                                                                                   |
| `IP_V6_ADDRESS_ID`      | IPv6 addresses. Can be generated automatically when IP address auto-capture is activated on a channel.                                                                                                                   |

{% hint style="warning" %}
Some network identifiers are user-related rather than device-related - those generated from an email address, for example. Those are handled through [compartments](/setup-and-monitor/plan-and-integrate/set-up-the-environment/set-up-compartments.md), not device registries. See [Network IDs](/setup-and-monitor/collect-and-manage-your-data/design-your-data-model-and-schema/user-identity/network-ids.md).
{% endhint %}

## What you can create, and what you subscribe to

| Action                                | Applies to                                                                         |
| ------------------------------------- | ---------------------------------------------------------------------------------- |
| **Create your own registry**          | `MOBILE_VENDOR_ID`, `CUSTOM_DEVICE_ID`, `IP_V4_ADDRESS_ID`, `IP_V6_ADDRESS_ID`     |
| **Subscribe to an existing registry** | The other types                                                                    |
| **Nothing to do**                     | `INSTALLATION_ID` registries are created and removed automatically by the platform |

You can set an **expiration duration** for identifiers stored in registries you created manually. It applies only to identifiers captured after the expiration duration is set.

## Set up a registry

{% stepper %}
{% step %}

### Create it, or subscribe to it

Go to **Settings > Organisation > Device Registries**.

To use a shared registry, open the **Shared device registries** section and use **Manage subscriptions**.
{% endstep %}

{% step %}

### Activate it on the right datamarts

* **With a single datamart**, the registry is activated automatically - move on.
* **With several datamarts**, activate it explicitly: select your device registry, open the **More** menu, choose **Edit linked datamarts**, and select every datamart where the registry should be active.
  {% endstep %}

{% step %}

### Activate ingestion on your channels

Some device registry identifiers require channel configuration updates before tracking with them works properly on your sites. IP address auto-capture, for example, is activated on the channel and generates the corresponding IP registry.

See [Channels](/setup-and-monitor/plan-and-integrate/set-up-the-environment/set-up-channels.md).
{% endstep %}
{% endstepper %}

## What happens when identifiers meet

When two device technical IDs are associated, their device points are merged. This happens when user activities are captured with multiple identifiers, and when the identifier association feature is used.

If the device points involved are linked to different UserPoints, merging device points also triggers a [merge of the UserPoints](/setup-and-monitor/collect-and-manage-your-data/design-your-data-model-and-schema/user-identity/userpoint-and-identity-graph.md).

{% hint style="info" %}
For identifiers considered probabilistic - those that can create false-positive matches between users - the merge of device points and UserPoints is not allowed, in order to avoid inconsistencies in your ID graph. Contact your account manager for details on a specific identifier.
{% endhint %}

## Verify

* Every identifier type your integration sends has a registry that exists.
* With several datamarts, each registry is linked to every datamart that needs it.
* Channels that must send a registry-based identifier have been updated accordingly.
* After the first data arrives, device identifiers appear on your UserPoints rather than being dropped.

## Related pages

<table data-view="cards" data-search="false"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>User Device</strong></td><td>The device graph, and the identifier formats you send.</td><td><a href="/setup-and-monitor/collect-and-manage-your-data/design-your-data-model-and-schema/user-identity/user-identifiers/user-device.md">User Device</a></td></tr><tr><td><strong>Network IDs</strong></td><td>Device-based and user-based network identifiers.</td><td><a href="/setup-and-monitor/collect-and-manage-your-data/design-your-data-model-and-schema/user-identity/network-ids.md">Network IDs</a></td></tr><tr><td><strong>Compartments</strong></td><td>The user-side equivalent of a registry.</td><td><a href="/setup-and-monitor/plan-and-integrate/set-up-the-environment/set-up-compartments.md">Compartments</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mediarithmics.io/setup-and-monitor/plan-and-integrate/set-up-the-environment/set-up-device-registries.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
