# Opzioni avanzate di incorporamento

> Il widget incorporato accetta più opzioni di configurazione di quelle mostrate nello snippet da copiare e incollare, incluso il passaggio di opzioni del client al checkout che apre.

I codici di incorporamento generati nel tuo account Entase inseriscono in una pagina un widget per eventi pronto all'uso. Sono progettati per essere copiati e incollati senza alcun lavoro di sviluppo – consulta [Incorporare eventi nel tuo sito web](/organizers/sharing-and-embedding/embedding-events-on-your-website.md) per scoprire come ottenerne uno.

Questa pagina descrive le opzioni che puoi aggiungere a quello snippet e come configurare il checkout che apre.

Il widget carica autonomamente il client JavaScript, quindi non devi aggiungere `client.js` accanto a esso. Non richiede nemmeno una chiave pubblicabile: il widget viene fornito da Entase, pertanto il checkout viene autorizzato tramite il widget anziché tramite una chiave presente nella tua pagina.

## Configurazione

Ogni widget viene configurato con un oggetto di opzioni:

```html
<div id="entase_OBJ_CODE"></div>
<script>
  window.entase = window.entase || { o: [] };
  window.entase.o.push({
    obj: 'OBJ_CODE',
    theme: 'dark',
    ext: true
  });
</script>
<script src="https://js.entase.com/embed.js" async></script>
```

`obj` collega la configurazione al relativo contenitore: il widget viene visualizzato nell'elemento il cui ID è `entase_` seguito dallo stesso codice. Se tale elemento non è presente, il widget registra un avviso e non visualizza nulla.

Aggiungi una voce per ogni widget per inserirne diversi in una pagina.

| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| `obj` | stringa | — | Il codice oggetto del tuo snippet di incorporamento. Obbligatorio. |
| `width` | stringa | `'auto'` | Larghezza del contenitore come valore CSS. `'auto'` indica la larghezza completa. |
| `height` | stringa | `'auto'` | Altezza del contenitore come valore CSS. `'auto'` parte da 200px e il widget ridimensiona automaticamente la propria altezza in base al contenuto. |
| `theme` | stringa | `'light'` | `'light'` o `'dark'`. |
| `locale` | stringa | `'auto'` | Lingua del widget. `'auto'` legge l'attributo `lang` del tuo elemento `<html>`. |
| `ext` | booleano | `false` | Layout esteso – aggiunge il nome dell'evento e la locandina sopra le date. |
| `attribution` | booleano | `true` | Mostra la riga di attribuzione Entase. Imposta `false` per nasconderla. |
| `client` | oggetto | `{}` | Opzioni passate al client JavaScript che apre il checkout. |

Al contenitore viene assegnata una larghezza minima di 200px indipendentemente da `width`; al di sotto di tale valore, il widget non può essere disposto correttamente.

## Configurare il checkout

`client` accetta le stesse opzioni del costruttore del client, quindi il checkout aperto da un widget può essere stilizzato e dimensionato come uno aperto direttamente da te:

```js
window.entase.o.push({
  obj: 'OBJ_CODE',
  client: {
    checkoutMode: 'pane',
    pane: { width: '60vw' },
    backdrop: true,
    backdropColor: '#101014'
  }
});
```

Consulta [Opzioni del costruttore](/developers/js-client/constructor-options.md) per l'elenco completo.

Due avvertenze. `tprm` viene impostato dal widget stesso in base all'URL della pagina (vedi sotto), quindi un valore passato qui viene sostituito. Inoltre, quando più widget condividono una pagina, condividono un'unica istanza del client – vengono applicate le opzioni `client` dell'ultimo widget inizializzato; mantienile quindi identiche per tutti i widget nella stessa pagina.

## Inoltro automatico delle campagne

A differenza del client standalone, il widget legge la stringa di query della tua pagina e inoltra i parametri di campagna noti sia al widget sia al checkout:

`sgm`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`, `utm_id`, `utm_source_platform`, `utm_creative_format`, `fbclid`

Per un visitatore che arriva su `yoursite.com/concert?utm_source=facebook&sgm=SOCIAL`, tale attribuzione viene registrata per ogni ordine risultante senza ulteriore configurazione. I parametri esterni a questo elenco vengono ignorati – per includere i tuoi, apri direttamente il checkout con il client e imposta personalmente `tprm`. Consulta [Monitoraggio e consenso](/developers/js-client/tracking-and-consent.md).
