> For the complete documentation index, see [llms.txt](https://help.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.impact.com/brand/it/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/testa-il-tuo-programma-advocate.md).

# Testa il tuo programma Advocate

Puoi testare il tuo programma Advocate simulando il tuo [le regole del programma](/brand/it/what-would-you-like-to-learn-about/advocate-program/getting-started-with-advocate/advocate-program-rules-explained.md) contro dati di esempio per confermare che una regola si comporti come previsto prima di farvi affidamento in produzione.

{% hint style="success" %}
**Nota:** Devi configurare almeno 1 regola del programma per testare il tuo programma.
{% endhint %}

{% stepper %}
{% step %}

## Accedi a Test My Program

1. Dal menu di navigazione a sinistra, seleziona ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-230534471fef5f40808e921e41ee44e4a06ded03%2Fe6cb9548999afdc1ed3ce4942e4cb5b45b5cecbd323267aac2a7cd1915fccc09.svg?alt=media) **\[Engage]** <i class="fa-arrow-right">:arrow-right:</i> **Regole del programma** <i class="fa-arrow-right">:arrow-right:</i> **Test My Program**.
   1. Seleziona **Avanti** per passare da una fase all'altra.
      {% endstep %}

{% step %}

## Conferma il programma e la versione

2. Il programma è già compilato dal contesto corrente. Cambialo solo se devi testarne uno diverso.
3. Dalla *Versione* ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-c2cb550b55c51ea1eeff0acbd6f437a03b621a2c%2F60d033ae8a04c14498d5229c3c0160ac05feea7f605dbd770741793c900469f0.svg?alt=media) **\[Menu a discesa]**, seleziona se simulare la versione **Bozza** o **Attiva** versione.
   1. Scopri di più su cosa comportano una versione bozza e una versione attiva del tuo programma Advocate.
      {% endstep %}

{% step %}

## Scegli l'evento e compila i suoi input

4. Seleziona quale evento vuoi simulare, quindi inserisci le informazioni nel modo in cui si verificherebbero nel tuo programma:
   * **Inizio referral**
   * **L'amico effettua un acquisto**
   * **L'amico rimborsa un acquisto**
   * **L'amico compie un'azione**

<details>

<summary>Riferimento del campo</summary>

| Campo                               | Cosa fa                                                   | Disponibile per                                                                     |
| ----------------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Evento di acquisto**              | L'evento di acquisto tracciato da simulare.               | L'amico effettua un acquisto, L'amico rimborsa un acquisto                          |
| **Data di acquisto**                | La data dell'acquisto simulato.                           | L'amico effettua un acquisto, L'amico rimborsa un acquisto                          |
| **Tipo di evento**                  | L'evento tracciato da simulare.                           | L'amico compie un'azione                                                            |
| **Data dell'evento**                | La data in cui si è verificato l'evento.                  | L'amico compie un'azione                                                            |
| **Valuta**                          | La valuta dell'importo dell'acquisto simulato.            | L'amico effettua un acquisto, L'amico compie un'azione                              |
| **Importo dell'acquisto**           | L'importo dell'acquisto simulato.                         | L'amico effettua un acquisto (obbligatorio), L'amico compie un'azione (facoltativo) |
| **Referral iniziato il**            | La data in cui è iniziato il referral.                    | Tutti gli eventi                                                                    |
| **Referral convertito**             | Specifica se e quando il referral è già stato convertito. | Tutti gli eventi tranne Inizio referral                                             |
| **Segmenti Advocate** (facoltativo) | Limita il test a uno specifico segmento Advocate.         | Tutti gli eventi                                                                    |
| **Segmenti Friend** (facoltativo)   | Limita il test a uno specifico segmento Friend.           | Tutti gli eventi                                                                    |

</details>
{% endstep %}

{% step %}

## Esegui il test

5. Seleziona **Esegui test**. Le tue regole vengono valutate in base al programma selezionato, alla versione e agli input che hai fornito.
   {% endstep %}

{% step %}

## Leggi l'output di anteprima

6. Rivedi il *Anteprima* pannello:
   1. Un riepilogo della regola attivata, l'intervallo di date se si applicano azioni basate sulla data e una riga con segno di spunta per ogni azione risultante. Conferma se corrisponde a ciò che ti aspettavi.
      {% endstep %}
      {% endstepper %}

## Casi di test

Questi casi di test utilizzano regole di esempio che puoi configurare per confermare che il tuo programma si comporti nel modo desiderato prima di pubblicarlo. Ogni scenario qui sotto illustra una situazione specifica in modo più dettagliato. Adatta i dettagli, come trigger, importi e segmenti, per farli corrispondere alla configurazione del tuo programma.

<details>

<summary>Logica di trigger di base</summary>

**Obiettivo:**

* Confermare che una regola di trigger di acquisto di base corrisponda e restituisca il risultato previsto.
* Confermare che non ci sia alcun comportamento di fallback errato.

**Configurazione della regola:**

* Trigger: L'amico effettua un acquisto.
* Azione: Premio ed email all'Advocate, con un premio in denaro per l'Advocate.
* Nessuna azione predefinita necessaria.

**Input del test:**

* Evento: L'amico effettua un acquisto.
* Evento di acquisto, data di acquisto, importo dell'acquisto e valuta corrispondenti alla tua regola.
* Referral iniziato alla stessa data.
* Segmenti lasciati aperti.

**Risultato previsto:**

* La regola corrisponde e l'anteprima mostra esattamente quale regola è stata attivata.
* La riga del premio per l'Advocate mostra l'importo del premio configurato.
* La riga dell'email per l'Advocate viene mostrata.
* Non appare nessun'altra azione di fallback errata.

</details>

<details>

<summary>Corrispondenza finestra temporale vs fallback</summary>

**Obiettivo:**

* Conferma che una data all'interno di una finestra temporale applichi l'azione basata sul tempo.
* Conferma che una data al di fuori della finestra ricada sul valore predefinito.

**Configurazione della regola:**

* Trigger: L'amico effettua un acquisto.
* Un'azione basata sul tempo limitata a una finestra di date, basata sulla data di inizio del referral.
* Un'azione predefinita al di fuori di quella finestra.

**Esecuzione A (nella finestra):**

* Imposta la data di inizio del referral all'interno della finestra.

**Risultato previsto A:**

* L'anteprima mostra esattamente quale regola basata sul tempo è stata attivata.
* Il suo premio e la sua email vengono applicati.

**Esecuzione B (fuori dalla finestra):**

* Imposta la data di inizio del referral al di fuori della finestra.

**Risultato previsto B:**

* L'azione basata sul tempo non corrisponde.
* Vengono invece applicati il premio e l'email predefiniti.

</details>

<details>

<summary>Selezione del premio a livelli</summary>

**Obiettivo:**

* Confermare che il livello di premio corretto venga selezionato in base all'importo dell'acquisto.

**Configurazione della regola:**

* Trigger: L'amico effettua un acquisto.
* Azione: Premio a livelli ed email all'Advocate.
* Almeno tre livelli di premio in base all'intervallo dell'importo di acquisto (ad esempio, un livello basso, medio e alto).

**Input del test:**

* Esegui una volta per ciascun livello.
* Inserisci un importo di acquisto che rientri nell'intervallo di ciascun livello.
* Mantieni identico ogni altro input tra le esecuzioni.

**Risultato previsto:**

* Ogni esecuzione mostra il premio configurato per il livello in cui rientra il suo importo, non il premio di un livello diverso.

</details>

<details>

<summary>Idoneità controllata da segmento</summary>

**Obiettivo:**

* Conferma che una condizione di segmento controlli se la regola si applica.

**Configurazione della regola:**

* Trigger: L'amico effettua un acquisto.
* Una condizione che richiede che l'Advocate faccia parte di uno specifico segmento.
* Idealmente, un'azione predefinita per tutti gli altri.

**Esecuzione A (corrispondenza):**

* Imposta il segmento dell'Advocate su quello idoneo.

**Risultato previsto A:**

* Si applica l'azione idonea.
* Il predefinito viene saltato.

**Esecuzione B (nessuna corrispondenza):**

* Imposta il segmento dell'Advocate su uno non idoneo.

**Risultato previsto B:**

* Si applica l'azione predefinita, se ne è configurata una.
* In caso contrario, non viene attivata alcuna azione idonea.

</details>

<details>

<summary>Calcolo della commissione</summary>

**Obiettivo:**

* Conferma che un premio a commissione venga calcolato in base all'importo dell'acquisto e mostrato nella valuta corretta.

**Configurazione della regola:**

* Trigger: L'amico effettua un acquisto.
* Azione: Premio ed email all'Advocate.
* Un premio basato su commissione — una percentuale dell'importo dell'acquisto — nella valuta della transazione.

**Esecuzione A e B:**

* Due importi di acquisto diversi, stessa valuta.

**Risultato previsto A e B:**

* Entrambi mostrano il tasso di commissione applicato correttamente a quell'importo.

**Esecuzione C (se il tuo programma supporta più valute):**

* Lo stesso importo dell'esecuzione A, ma con una valuta diversa.

**Risultato previsto C:**

* La commissione viene calcolata correttamente e mostrata nella nuova valuta.
* Questo isola la gestione della valuta dal calcolo dell'importo.

</details>

<details>

<summary>Nessuna corrispondenza senza configurazione di default</summary>

**Obiettivo:**

* Conferma che l'anteprima mostri chiaramente che non accade nulla quando niente corrisponde e non c'è un fallback.

**Configurazione della regola:**

* Un'azione basata sul tempo senza alcuna azione predefinita configurata.

**Input del test:**

* Imposta la data di inizio del referral al di fuori della finestra temporale.

**Risultato previsto:**

* Nessuna corrispondenza della finestra temporale.
* Nessun fallback predefinito disponibile.
* L'anteprima mostra chiaramente che non si verificherà alcuna azione idonea.

</details>

<details>

<summary>Nessuna corrispondenza dovuta al mancato soddisfacimento di una condizione della regola</summary>

**Obiettivo:**

* Conferma che l'anteprima mostri nessuna azione quando non vengono soddisfatte le condizioni della regola stessa, non solo una finestra temporale.

**Configurazione della regola:**

* Una regola con due condizioni sull'evento di attivazione: un evento di acquisto specifico e un importo minimo di acquisto.

**Input del test:**

* Inserisci un evento di acquisto che non corrisponde, un importo inferiore al minimo o entrambi.

**Risultato previsto:**

* Nessuna condizione della regola è stata soddisfatta.
* L'anteprima mostra chiaramente che non accadrà nulla.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://help.impact.com/brand/it/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/testa-il-tuo-programma-advocate.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
