Brand schema overrides

A brand can layer its own persona schema over Mirror Panel's shared personas without changing the underlying panel. Demographic tilts assign values in aggregate; CSV imports pin exact people to exact values; and an uploaded value always wins over the rules.

How the overlay works

Open Brand Settings and use Persona attributes. A regular attribute adds a new brand-only field, such as familiarity or loyalty. A built-in override instead replaces a field already on the persona — such as occupation, region, or income bucket — in the persona data the model reads and in the dimensions used to group results. The shared persona record is never rewritten, so other brands continue to see the original profile.

Think of resolution as CSV pin → demographic rules → base distribution. Removing a CSV pin hands that persona back to the rules; it does not delete the attribute.

Feature 1: demographic tilts

Use a demographic tilt when you know the shape of a group but do not need to identify every individual. Rules are statements such as “among the Midwest, 50% are Familiar or better.” They are not applied top to bottom: Mirror solves all stated rates together while preserving the panel-wide base distribution.

Both stated rates are met, but the intersection table reveals where the solver placed the remaining personas. This is why Preview is part of the authoring workflow.

Overlapping rules can produce a surprising intersection even when every stated rate is exact. Read the groups below the rule table, not only the panel-wide split.

Feature 2: CSV import

Use CSV import when first-party research, CRM data, or another source tells you the value for a particular persona. First save the attribute schema, then use Uploaded values at the bottom of Persona attributes.

The CSV workflow is separate from Save attributes: download, edit, validate, then apply the complete clean upload.

persona_id,_display_id,_income_bucket_current,income_bucket
persona_82a6c7a0942d6f10,ID 942D6F10,comfortable,affluent
persona_1fd908e471c235ab,ID 71C235AB,constrained,
persona_6b53aa01d9418ef2,ID D9418EF2,affluent,default

With Merge selected, the first row creates or updates a pin, the blank second row changes nothing, and default on the third row removes its pin. In Replace, that blank row would also remove an existing pin. The real template supplies the persona IDs; do not invent or edit them.

Advanced example: replace the income schema for one brand

Suppose a financial-services brand reasons about disposable-income tiers rather than Mirror's five census income buckets. It can replace income_bucket for its own studies while leaving the shared census profile intact.

Selecting Income bucket makes the attribute an intentional replacement rather than a separate annotation. Mirror fixes visibility to Shown to the model and keeps targeting enabled.

The original profile still controls census sampling. Selecting $150k+ in Pulse chooses personas from the shared census income bucket; it does not sample by this brand's replacement values. Target the custom Customer income tier attribute when you want the overlaid audience instead.

Guardrails and permissions

Built-in overrides are always shown to the model and always targetable, because result segments must describe values the model actually saw and must remain usable for a rerun. The attribute key cannot be renamed after save. Brand members can read the schema; anyone granted Brand settings: Read/write can preview, save, download templates, and apply or clear CSV pins.

Start with demographic tilts for the broad panel shape, then add CSV pins only where you have person-specific evidence. That keeps the schema editable without giving up exact exceptions.