> 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/test-your-advocate-program.md).

# Testa il tuo programma Advocate

Puoi testare il tuo programma Advocate simulando il tuo [regole del programma](/brand/it/what-would-you-like-to-learn-about/advocate-program/getting-started-with-advocate/advocate-program-rules-explained.md) con dati di esempio per confermare che una regola si comporti come previsto prima di affidarti a essa 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> **Testa il mio programma**.
   1. Seleziona **Avanti** per passare da un passaggio all'altro.
      {% endstep %}

{% step %}

## Conferma il programma e la versione

2. Il programma è precompilato dal tuo contesto attuale. 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 **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:
   * **Avvio del referral**
   * **L'amico effettua un acquisto**
   * **L'amico rimborsa un acquisto**
   * **L’amico compie un’azione**

<details>

<summary>Riferimento dei campi</summary>

| Campo                                 | Cosa fa                                                   | Disponibile per                                                                 |
| ------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **Evento di acquisto**                | L'evento di acquisto tracciato da simulare.               | Amico effettua un acquisto, Amico rimborsa un acquisto                          |
| **Data di acquisto**                  | La data dell'acquisto simulato.                           | Amico effettua un acquisto, 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.            | Amico effettua un acquisto, Amico esegue un'azione                              |
| **Importo dell'acquisto**             | L'importo dell'acquisto simulato.                         | Amico effettua un acquisto (obbligatorio), Amico esegue 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 Avvio del referral                                      |
| **Segmenti Advocate** (facoltativo)   | Limita il test a un segmento Advocate specifico.          | Tutti gli eventi                                                                |
| **Segmenti dell'Amico** (facoltativo) | Limita il test a un segmento dell'Amico specifico.        | Tutti gli eventi                                                                |

</details>
{% endstep %}

{% step %}

## Esegui il test

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

{% step %}

## Leggi l'output di anteprima

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

## Casi di test

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

<details>

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

**Obiettivo:**

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

**Configurazione della regola:**

* Trigger: l'Amico effettua un acquisto.
* Azione: ricompensa ed email all'Advocate, con una ricompensa in denaro per l'Advocate.
* Nessuna azione predefinita necessaria.

**Input di test:**

* Evento: l'Amico effettua un acquisto.
* Evento di acquisto, data di acquisto, importo dell'acquisto e valuta corrispondenti alla tua regola.
* Il referral è iniziato nella stessa data.
* Segmenti lasciati aperti.

**Risultato atteso:**

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

</details>

<details>

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

**Obiettivo:**

* Conferma che una data all'interno di una finestra basata sul tempo 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.

**Atteso A:**

* L'anteprima mostra esattamente quale regola basata sul tempo è stata attivata.
* Vengono applicate la sua ricompensa e la sua email.

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

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

**Atteso B:**

* L'azione basata sul tempo non corrisponde.
* Vengono applicate invece la ricompensa e l'email predefinite.

</details>

<details>

<summary>Selezione della ricompensa a livelli</summary>

**Obiettivo:**

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

**Configurazione della regola:**

* Trigger: l'Amico effettua un acquisto.
* Azione: ricompensa a livelli ed email all'Advocate.
* Almeno tre livelli di ricompensa per intervallo di importo dell'acquisto (ad esempio, un livello basso, medio e alto).

**Input di test:**

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

**Risultato atteso:**

* Ogni esecuzione mostra la ricompensa configurata per il livello in cui rientra l'importo, non la ricompensa di un livello diverso.

</details>

<details>

<summary>Idoneità limitata 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 sia in un segmento specifico.
* Idealmente, un'azione predefinita per tutti gli altri.

**Esecuzione A (corrisponde):**

* Imposta il segmento dell'Advocate su quello idoneo.

**Atteso A:**

* L'azione idonea si applica.
* Il valore predefinito viene saltato.

**Esecuzione B (non corrisponde):**

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

**Atteso B:**

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

</details>

<details>

<summary>Calcolo della commissione</summary>

**Obiettivo:**

* Conferma che una ricompensa a commissione venga calcolata sull'importo dell'acquisto e mostrata nella valuta corretta.

**Configurazione della regola:**

* Trigger: l'Amico effettua un acquisto.
* Azione: ricompensa ed email all'Advocate.
* Una ricompensa basata sulla commissione — una percentuale dell'importo dell'acquisto — nella valuta della transazione.

**Esecuzione A e B:**

* Due importi di acquisto diversi, stessa valuta.

**Atteso A e B:**

* Ciascuno mostra 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 in una valuta diversa.

**Atteso 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 un fallback predefinito configurato</summary>

**Obiettivo:**

* Conferma che l'anteprima mostri chiaramente che non viene eseguita alcuna azione quando nulla corrisponde e non c'è alcun fallback.

**Configurazione della regola:**

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

**Input di test:**

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

**Risultato atteso:**

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

</details>

<details>

<summary>Nessuna corrispondenza da una condizione della regola non soddisfatta</summary>

**Obiettivo:**

* Conferma che l'anteprima mostri che non viene eseguita alcuna azione quando le condizioni della regola non sono soddisfatte — non solo per una finestra temporale.

**Configurazione della regola:**

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

**Input di test:**

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

**Risultato atteso:**

* Nessuna condizione della regola corrisponde.
* 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.impact.com/brand/it/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/test-your-advocate-program.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
