# Output tables

Profile Resolution writes output tables to the connected source, typically in the `dinmo_identity` dataset or schema. Outputs are generated by an [identity graph](/identity-resolution/identity-graph.md).

Physical table names may include the project ID. The examples below use the logical table names for readability.

For shared vocabulary used in these outputs (`dinmo_id`, matching rules, golden record), see [Identity Resolution concepts](/identity-resolution/concepts.md).

| Table                         | What it contains                                                                                                                  | Main use                                                 |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `identity_golden`             | One canonical [golden record](/identity-resolution/golden-record.md) per resolved [`dinmo_id`](/identity-resolution/dinmo-id.md). | Use as the unified profile table.                        |
| `identity_matched_ids`        | Identifier values linked to each resolved profile.                                                                                | Inspect the identity footprint of a profile.             |
| `identity_unresolved_records` | Records excluded from final outputs.                                                                                              | Investigate data quality issues and conflict guardrails. |
| `identity_lookup`             | Standardized source identifiers and rule keys.                                                                                    | Debug what entered the matching graph.                   |
| `match_pairs`                 | Pairwise explanation of records that matched.                                                                                     | Audit why two records were linked.                       |
| `identity_golden_report`      | Compact run summary.                                                                                                              | Review high-level metrics.                               |

## identity\_golden <a href="#identity_golden" id="identity_golden"></a>

`identity_golden` is the main table for consuming golden records — it is the one-row-per-customer table you point your activation, CRM, or BI joins at. The same table also carries a few audit columns so you can trace each row back to its source. You can keep them or filter them out depending on the use case.

### Columns for activation

These are the columns you typically `SELECT` when you build a contact table for downstream systems.

| Column             | Description                                                                                                                                                |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dinmo_id`         | Resolved profile ID. The stable key to join on.                                                                                                            |
| identifier columns | Configured identifiers exposed in the golden record (for example `email`, `phone`, `user_id`).                                                             |
| golden fields      | Configured profile fields selected by [survivorship rules](/identity-resolution/survivorship-rules.md) (for example `first_name`, `last_name`, `country`). |

### Audit columns

These columns describe *how* the row was produced. Useful for debugging or for richer reporting, but not needed for activation.

| Column                            | Description                                                                                                          |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `representative_entity_key_name`  | Name of the source key that represents this profile (which source table the representative record came from).        |
| `representative_entity_key_value` | Value of that source key (which row in that table).                                                                  |
| `resolution_status`               | `matched` when the profile is a cluster of two or more records, `unique` when it is a singleton (no merge happened). |
| `updated_at`                      | Latest known update timestamp for the resolved profile.                                                              |

### Building a contact table

For a contact table used by CRM, BI, or activation, just select the activation columns:

```sql
select
    dinmo_id,
    email,
    phone,
    first_name,
    last_name,
    country
from identity_golden;
```

If you want to keep only profiles that DinMo actually merged across more than one source record, filter on `resolution_status`:

```sql
select
    dinmo_id,
    email,
    phone,
    first_name,
    last_name,
    country
from identity_golden
where resolution_status = 'matched';
```

## identity\_unresolved\_records

Use `identity_unresolved_records` to understand records that were excluded from the final profile output. These records often point back to missing identifiers, duplicate primary keys, or [matching rule](/identity-resolution/profile-resolution/matching-rules.md) guardrails.

Common unresolved reasons include:

| Reason                | Meaning                                                                   |
| --------------------- | ------------------------------------------------------------------------- |
| `missing_data`        | The record does not contain enough usable identifier data to be resolved. |
| `identifier_conflict` | The matched profile violated an identifier guardrail.                     |

## Which output should you use?

| Need                                                      | Recommended output                  |
| --------------------------------------------------------- | ----------------------------------- |
| Use one row per resolved customer                         | `identity_golden`                   |
| Understand which identifiers belong to a resolved profile | `identity_matched_ids`              |
| Investigate unresolved profile records                    | `identity_unresolved_records`       |
| Explain why profile records matched                       | `match_pairs` and `identity_lookup` |


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dinmo.io/identity-resolution/profile-resolution/output-tables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
