Skip to content

Attribute reference

Every data-nam-* attribute, in one table. The guide explains the ones that need explaining; this page is the complete list.

On the <form>

AttributeRequiredValuesDefaultNotes
data-nam-landing-pageyesLetters, digits, ., :, _, -; must start alphanumeric; ≤ 100 charsThe registered page id, and the routing key that resolves the campaign. The only attribute the SDK refuses to start without.
data-nam-keyyesThe publishable keySafe in page source. init({ key }) and window.__NAMAKINA_LANDING_PAGE__.key are fallbacks; the attribute wins.
data-nam-goalrecommendedFree text, ≤ 500noneThe visitor's outcome in one sentence. Also the panel header's subtitle.
data-nam-goal-labelnoA few wordsThe submit button's text, sentence-cased; else FinishThe progress strip's label; the panel title when data-nam-brand is absent.
data-nam-contextnoFree text, ≤ 300noneBackground for the agent. Also valid on a field.
data-nam-rolloutno0100, clamped and rounded100The share of visitors who get the agent.
data-nam-submitnoconfirm, autoconfirmauto submits on the agent's request rather than waiting for the visitor.
data-nam-layoutnoinline, panelinlinepanel mounts a full-height dialog on <body> and docks back inline at the confirm step.
data-nam-brandnoA namefalls back to the goal labelThe panel header's title; its first letter is the mark.
data-nam-themenoA JSON object; only string values under keys matching --[a-z0-9-]+ survivenoneCSS custom properties merged over the sampled theme. Malformed input silently yields no override.

On the fields

AttributeWhereValuesNotes
data-nam-labelAny controlText, ≤ 120Overrides the whole label-resolution chain.
data-nam-helpA control, or its <fieldset>Text, ≤ 200The visitor-facing line under the question.
data-nam-contextAny controlText, ≤ 300Background for the agent about this field. Not shown.
data-nam-imageAn <option>, a radio, or the radio's <label>A URLResolved against the page; must be http(s) or it is dropped. Any image on a choice makes it a visual question unit.
data-nam-descriptionAn <option>, a radio, or its <label>Text, ≤ 200One line under that answer.
data-nam-lockAny controlPresence onlyExtracted and visible, but set_field and ask_field are refused and it is left out of the recap. focus_field still works.
data-nam-ignoreA control or any ancestor inside the formPresence onlyNever extracted. The agent does not know it exists.
data-nam-wrapperAny ancestor between the control and the <form>Presence onlyNames the element to hide in place of the field, overriding the automatic walk.
data-nam-disclosureAny element in the formPresence onlyMarks a legal disclosure: never hidden, never written, and checkboxes inside it are locked.

Also read, and not a data-nam- attribute:

AttributeNotes
data-maskThe jQuery-mask grammar — 0 digit, A letter, S alphanumeric — up to 64 characters. Read, never written. Drives completeness checks and the format of what the SDK writes back.

Detected without any attribute

A checkbox is locked automatically when it is inside a disclosure block, or when its label matches agree, consent, authoriz, accept, terms or privacy. A disclosure block is any element carrying data-nam-disclosure or a class containing disclaimer, disclosure, consent or tcpa.

On the <script> tag

Read only by the self-booting IIFE bundle, from its own document.currentScript.

AttributeTypeDefaultNotes
data-intake-urlURLRequired. Trailing slashes trimmed. Must be your own origin, a *.core.namakina.com host over https, or a local dev host; anything else is ignored with a console warning.
data-messaging-urlURLRequired. Same rule as above.
data-typing-cpsNumber25Reveal speed for agent text. 0 posts each message whole. A non-numeric value is ignored.
data-test-profilePresence onlyabsentSends X-Test-Profile: 1 on session create, so the profile is flagged as a test row.

There is no data-key on the script tag — the key comes from the form.

Query parameters

ParameterValuesNotes
nam_armassist, controlForces a side of the holdout. Anything else is ignored. Honoured only where ALLOW_ARM_OVERRIDE is set, so it does nothing on a live page.

Written by the SDK

Set on the host element. Read them in a test; do not style against them.

AttributeValues
data-nam-hostPresent, empty. Inside your form in inline layout; a child of <body> in panel, until it docks.
data-nam-armassist. Only ever set when the SDK renders — a control visitor gets no host element at all.
data-nam-layoutinline or panel. Rewritten to inline when a panel docks.

Inside the shadow root the rendered markup carries data-nam-state (live / confirm / submitted), data-nam-field, data-nam-block, data-nam-card, data-nam-kind, data-nam-stage-action, data-nam-sheet-action, data-nam-recap, data-nam-not-sure, data-nam-unit-back, data-nam-unit-skip, data-nam-fill-on-form and data-nam-keep-form, plus data-role, data-layout and data-sponsored. These are implementation detail of the bundle and are not a supported integration surface.

Proprietary. All rights reserved.