# Embed configuration reference | answer.cloud Docs

> Canonical source: [Embed configuration reference | answer.cloud Docs](https://www.answer.cloud/docs/reference/embed-settings/)

Configure the current external embed with typed chat, analytics, page-button, and site-search options, including defaults and verification checks.

reference

Embed configuration reference

Configure the current external embed with typed chat, analytics, page-button, and site-search options, including defaults and verification checks.

Reviewed November 1, 2026

`window.aeoSettings` configures the current external `https://app.answer.cloud/embed.js` bundle. Set it before loading the script. Hosted and companion pages receive generated settings; use the platform's supported configuration instead of installing another copy there.

```html
<script>
  window.aeoSettings = {
    organization_id: 123,
    site_id: 456,
    chat: { enabled: true, button_text: "Ask a question" },
    analytics: { enabled: true }
  };
</script>
<script src="https://app.answer.cloud/embed.js" defer></script>
```

Replace example IDs with the actual intended organization/site. These are public routing identifiers, not secrets. The API name remains `aeoSettings` despite the Answer Cloud product name. The obsolete `embed/loader.mjs` path is not the current installation.

## Top-level options

| Option               | Type                  | Default / purpose                                                                 |
|----------------------|-----------------------|----------------------------------------------------------------------------------|
| `organization_id`    | Integer               | Required organization routing value.                                             |
| `site_id`            | Integer               | Explicit site target when supplied by the integration.                           |
| `base_url`           | String                | Backend override; normally resolved from the embed script origin, currently app.answer.cloud. |
| `css_path`           | Absolute public URL string | Optional stylesheet loaded into the host document and chat iframe. Use HTTPS.    |
| `css_crossorigin`    | String                | Platform-generated theme loading hint where applicable; preserve generated settings. |
| `organization_sub`   | String                | Companion subdomain information used by relevant UI links.                       |
| `organization_domain`| String                | Companion domain information used by relevant UI links.                          |

Keep `base_url` on the normal application service unless a supported test integration explicitly uses another backend. The public marketing `www` hostname is not the normal embed API host.

## Chat object

| Option               | Type                  | Default / behavior                                                               |
|----------------------|-----------------------|----------------------------------------------------------------------------------|
| `chat.enabled`       | Boolean               | Chat starts only when explicitly true.                                          |
| `chat.button_text`   | String                | Optional launcher label.                                                         |
| `chat.intro_text`    | String                | Optional introductory copy.                                                      |
| `chat.button_text_color` | Hex color string    | Current bundle fallback is `#6f7071`.                                           |

Labels belong inside `chat`, not at the top level. `button_color` is not a supported color control in this bundle. Use a scoped theme for other appearance changes and retain the attribution link. The hosted `configure_widget` tool additionally validates its supported copy lengths and color syntax; see [configuration tools](https://www.answer.cloud/docs/reference/site-configuration-tools/).

## Analytics object

| Option               | Type                  | Default / behavior                                                               |
|----------------------|-----------------------|----------------------------------------------------------------------------------|
| `analytics.enabled`  | Boolean               | Events enabled unless explicitly false.                                         |
| `analytics.tracking` | Boolean               | Tracking-state initialization allowed unless explicitly false.                   |
| `analytics.track_forms` | Boolean             | Generic form tracking allowed unless explicitly false.                          |

```js
analytics: {
  enabled: false,
  tracking: false,
  track_forms: false
}
```

Disabling event collection alone does not prevent initialization of session/first-touch state. Apply the appropriate flags before the bundle starts and test actual browser behavior with your consent flow. `form_tracking` is not the supported option name. These flags do not delete stored data, stop separate edge logging, or disable server-side capture of an accepted managed form.

## Page buttons

`button.enabled` must be true. `button.button_selector` defaults to `.ai-btns`, and `button.subdomain` defaults to `ai`. The bundle injects a ChatGPT link into matching containers. Its current legacy destination builder constructs `.txt` URLs on the chosen subdomain, using `/home.txt` for the root and appending `.txt` to other paths.

Verify those actual text destinations before enabling the feature. It does not automatically discover each generated Markdown mirror or create a companion domain. If the derived URL does not exist, leave the feature disabled and use supported canonical/text links instead.

## Site search

`site_search.enabled` must be true and the site needs the appropriate entitlement. `form_selector`, `input_selector`, and `results_selector` select existing elements. `limit` defaults to 10 results; `button_text` supplies supported UI copy. Enabling the flag alone does not create the intended page markup or grant Pro access.

Verify a real query, result links, keyboard use, narrow-screen layout, and empty/error states. Generated hosted settings and the broader external embed object have different control surfaces; do not assume every external option can be saved through `configure_widget`.

See [installation](https://www.answer.cloud/docs/chat/installation/), [site search](https://www.answer.cloud/docs/chat/site-search/), and [collection/consent behavior](https://www.answer.cloud/docs/analytics/collection/).