Come funzionano, in due righe
Dichiari i nomi che il form accetta — `campagna`, `canale`, `id_cliente` — e poi mandi link diversi: `?campagna=natale`, `?canale=newsletter`. Il valore viaggia con chi compila e diventa una colonna nella tabella e nel CSV, accanto alle risposte.
Vanno dichiarati uno per uno di proposito. Un form che accettasse qualunque parametro dall'URL lascerebbe a chiunque abbia il link la possibilità di scriversi colonne addosso alle tue risposte, ed è successo a prodotti più grossi di questo.
I tre usi che valgono la pena
Attribuzione: un link per canale, e alla fine sai quale ha portato risposte invece di supporre. È il caso più comune e il più utile, perché di solito la risposta sorprende.
Personalizzazione: se il link lo mandi tu per email, ci puoi mettere il nome — `?nome=Anna` — e richiamarlo dentro la prima domanda. «Ciao Anna, due minuti» ha un tasso di risposta diverso da «Ciao».
Collegamento a un record che hai già: mandare `?id_cliente=4711` significa non dover chiedere di nuovo chi è la persona, e poter unire la risposta al tuo gestionale senza chiedere l'email.
Cosa non fare
Non metterci mai dati che non vuoi che la persona veda: il valore sta nell'URL, quindi è visibile nella barra degli indirizzi, nella cronologia e in qualunque schermata condivisa. «Nascosto» vuol dire «non chiesto», non «segreto».
E non usarli come autenticazione. Un `?id_cliente=4711` si modifica in `4712` da chiunque, ed è un problema solo se ci costruisci sopra qualcosa che dovrebbe essere protetto. Per quello serve il login richiesto, o la password del form.
L'alternativa quando il link non lo controlli
Se il form è incorporato in pagine diverse e non puoi cambiare l'indirizzo, l'attribuzione si fa a monte: uno script che legge la pagina ospite e aggiunge il parametro all'iframe. Se anche questo non è possibile, resta una domanda a scelta singola — «come sei arrivato qui?» — che è meno precisa ma è onesta.
Un link per canale, i nomi dichiarati nel form, e le risposte arrivano già divise — senza cookie e senza una domanda in più.