Skip to content Skip to footer

Come difendersi dai click fraudolenti e richieste falsi sul sito

L’uso di strategie intelligenti nella pubblicità contestuale, quando correttamente configurate, risulta molto più efficace rispetto alla gestione manuale delle offerte. Ho potuto constatare ciò tramite un mio esperimento condotto in una campagna pubblicitaria su Google Ads, in cui il bilancio e le visualizzazioni sono stati suddivisi equamente tra due strategie (massimizza le conversioni / offerta manuale). Di conseguenza, in 4 mesi sono riuscito a ridurre il costo di una conversione da 120€ a 15-30€, aumentando nel contempo il loro numero di 5 volte, pur mantenendo lo stesso bilancio.

La precisione nell’addestramento di una campagna pubblicitaria dipende in gran parte dalla quantità e dalla qualità delle conversioni inserite nel sistema. Maggiore è il numero di azioni mirate che inseriamo, più l’algoritmo impara a individuare pubblici più pertinenti e a mostrare i tuoi annunci a persone che sono più propense a compiere le azioni desiderate, ovvero acquistare un prodotto o ordinare un servizio.

Nella mia esperienza personale, ho cominciato a notare gli effetti della strategia di machine learning solo dopo aver raggiunto 100 conversioni sotto forma di richieste reali, e il massimo effetto è stato raggiunto dopo 500 conversioni. Non sono riuscito a ridurre ulteriormente il costo per lead accumulando ulteriori azioni mirate; sembrava essere il limite.

Tuttavia, all’inizio dell’esperimento, ho affrontato il problema dei clic falsi sugli elementi del sito web, delle richieste fasulle e dei messaggi sensati in chat. Tutte queste azioni erano compiute da bot intelligenti in grado di imitare il comportamento umano: sfogliare le pagine, fare clic sui collegamenti, premere i pulsanti e compilare i moduli di contatto.

A prima vista, potrebbe sembrare inoffensivo, ma le loro azioni ostacolano un corretto addestramento dell’algoritmo. Invece di portare più potenziali clienti, il motore di ricerca attira ancora più bot. Di conseguenza, gli ottimizzatori diventano delusi e tornano al controllo manuale delle offerte.

Esiste un metodo semplice che mi ha aiutato a evitare clic falsi sui numeri di telefono, i messaggi nella chat e l’invio di richieste sul sito. L’essenza di questo metodo consiste nel sostituire i tag dei link, dei pulsanti e degli elementi del modulo con un semplice tag “span“. Usando lo stile CSS e il JavaScript, possiamo simulare completamente un link, un pulsante e persino i campi del modulo. Esternamente, non si differenzieranno dai veri link, ma per i bot saranno solo pezzi di testo, che probabilmente ignoreranno e non cliccheranno.

Simulazione di un link utilizzando CSS/JS

Esempio di simulazione di un link per un numero di telefono: +39 331 XXX-XX-XX, e di email esempio@gmail.com.

Ora, come fare ciò? Pertanto, creiamo un tag “span” con una qualsiasi classe per applicare gli stili CSS necessari e creare un reindirizzamento tramite JavaScript quando si fa clic sull’elemento, in questo modo: <span class=”telspan” data-type=”tel”>+39 331 XXX-XX-XX</span>. All’interno del tag “span”, inserisci il numero di telefono e nell’attributo stesso (data-type), inserisci il tipo di collegamento. Per il numero di telefono è “tel” e per l’email è “mailto“.

Codice CSS

Posizioniamo il seguente codice sopra al nostro elemento o nel file di stile generale:

<style> .telspan { text-decoration:underline; color:#115399; cursor:pointer; } .telspan:hover { color:#ff5d0c; } </style>

Codice Javascript

E in qualsiasi parte del sito inseriamo il codice JavaScript che sarà responsabile per il reindirizzamento dell’utente al clic sull’elemento.

<script> (function() { document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.telspan').forEach( button => { button.onclick = function () { var anchor = this.innerText; var type = this.getAttribute('data-type'); var relink = type+':'+anchor; window.open(relink, '_blank'); return false; } }); }); })(); </script>

Simulazione di un modulo

Qui sarà un po’ più complicato in quanto richiederà la conoscenza di PHP per gestire il modulo inviato lato server. Non utilizzeremo alcun elemento di un modulo, ma solo tag span. Ecco come apparirà un semplice modulo composto da tag ‘span’. Su uno dei miei siti di servizi, utilizzo una form per le chiamate in entrata da oltre un anno, e finora non ho mai ricevuto una singola richiesta fraudolenta.

RICHIEDI UNA CHIAMATA
Invia

Код html для имитации поля input

Qui creeremo un tag ‘span’ con contenuto vuoto, ma con attributi specifici. Aggiungeremo all’elemento l’attributo contenteditable=”true”, che ci permetterà di inserire dati nel campo. L’attributo data-text sostituisce il classico segnaposto nel tag input. Un identificatore univoco id è necessario per inviare il valore inserito al server. Inoltre, nel modulo è prevista la scomparsa del pulsante dopo il primo clic. Questo è fatto affinché i visitatori non possano fare clic più volte sul pulsante “Invia” e per evitare duplicazioni delle stesse conversioni.

<span contenteditable="true" class="refield" id="telefone" data-text="Inserisci il tuo numero di telefono"></span>

Codice CSS per simulare il campo del modulo

Stilizziamo il tag “span” per simulare il campo di input del modulo.

<style> #reform .refield { display:block; width:calc(100% - 20px); padding:10px 10px; margin:15px 0 15px 0; font-size:16px; background:#fff; border:1px solid #999; box-shadow:inset 0 0 5px #e3dcdc; } #reform .refield:empty:before { content:attr(data-text); color:gray; } </style>

Codice JavaScript per l’invio del modulo al server

Al cliccare sul pulsante “Invia“, il nostro script JavaScript raccoglierà i dati inseriti dall’utente e li invierà al server utilizzando la tecnologia Ajax. Successivamente, sul server, verrà inviata la richiesta via email o tramite Telegram.

<script> (function() { document.addEventListener('DOMContentLoaded', function(){ function sendRequest(yamessdat) { var request = new XMLHttpRequest(); request.open("POST", "https://domain.com/send.php", true); request.setRequestHeader("Content-type", "text/plain;charset=UTF-8"); request.send(yamessdat); } var rebut = document.querySelector("#resubmit"); rebut.onclick = function(e) { var ralert = document.querySelector('#yaload'); ralert.style.display="block"; var phone=document.querySelector('#telefone').textContent; var message=document.querySelector('#remess').textContent; ralert.innerHTML = 'La tua richiesta è stata inviata! Il nostro responsabile ti contatterà al numero '+phone; } var yamass={}; yamass["phone"] = phone; yamass["message"] = message; yamessdat = JSON.stringify(yamass); sendRequest(yamessdat); }); })(); </script>

Codice PHP per la gestione della richiesta

Per accettare i dati inviati tramite Ajax, creiamo un file send.php sull’hosting con il seguente contenuto.

<?php $post = json_decode(file_get_contents('php://input'), true); // Convertiamo il JSON in un array $post['phone'];// Utilizziamo i dati ricevuti per lo scopo previsto ?>

Protezione aggiuntiva contro le richieste fraudolente

Purtroppo, molti bot si stanno evolvendo grazie alle reti neurali e diventano sempre più intelligenti, quindi è necessario proteggere ulteriormente i moduli dai falsi inserimenti. Guardate gli esempi di richieste fraudolente nel widget di WhatsApp.

Trappole per i bot

Ecco alcuni semplici metodi che possono aiutare a distinguere un bot da un utente reale.

  • Controllo della compilazione: Con JavaScript, è possibile verificare se il testo nel modulo è stato digitato manualmente o semplicemente incollato interamente, come spesso fanno i bot.
  • Campo nascosto: È possibile aggiungere un campo aggiuntivo al modulo e nasconderlo con CSS. Un utente reale non lo vedrà e, naturalmente, non lo compilerà, mentre i bot solitamente riempiono tutti i campi, cadendo così in una trappola.
  • Controllo dello spam: Sul lato del server, è possibile effettuare un controllo aggiuntivo sul testo del messaggio per individuare eventuali indizi di spam, come la presenza di link, l’assenza di parole (una serie casuale di caratteri o gergo), o frasi tipiche usate nelle email di spam.

Cookie banner

Inoltre, è possibile prendere in considerazione ulteriori informazioni sul comportamento dei visitatori sul sito e assegnare punteggi al nostro algoritmo per determinare se si tratta di un robot o di un essere umano. Ad esempio, un’azione come l’accettazione dei cookie sul sito potrebbe attribuire un 70% di probabilità di essere umano a una visita simile.

Ottimizzazione della campagna pubblicitaria per l’accettazione dei cookie

Inoltre, è possibile ottimizzare ulteriormente la campagna pubblicitaria per l’accettazione dei cookie, poiché i bot praticamente ignorano il banner dei cookie, sembra che non lo vedano affatto. Provate a guardare i video delle visite in Hotjar utilizzando lo strumento Recordings e osservate la reazione al banner dei cookie. È divertente osservare come i bot eseguano azioni nell’area coperta dal banner, leggano qualcosa in modo tranquillo, facciano clic su pulsanti e seguano i link nella navigazione che non è visibile

Google stesso, in uno dei suoi articoli sul tracciamento delle conversioni senza l’uso dei cookie, menziona una scoperta molto interessante. Ricerche su un ampio campione di siti web hanno dimostrato che il tasso di conversione per coloro che hanno rifiutato l’installazione dei cookie è circa 2-5 volte inferiore rispetto a coloro che li hanno permessi.

In parole semplici, su 100 visite in cui gli utenti hanno accettato i cookie, 5 persone compiono una conversione, mentre su 100 visite senza l’accettazione dei cookie, solo 1 persona lo fa. I valori esatti possono variare in base a fattori come il tasso di accettazione, il settore e il tipo di conversione.

C’è una certa logica in questo, poiché un visitatore intenzionato a fare un acquisto non vede nulla di male nel dare il consenso all’uso dei cookie. Le persone che navigano sul sito per curiosità, ad esempio i concorrenti, preferiscono rimanere nell’ombra, mentre i bot non sanno affatto cosa sia necessario fare per evitare di farsi scoprire.

Come potete vedere, per l’inserzionista, la percentuale di consenso ai cookie è del 50%, ma il numero di conversioni diminuisce solo del 19% (12 su 62), mentre il tasso di conversione aumenta dell’18% grazie al tracciamento delle conversioni.

Servizio di widget contro le false richieste

Capisco che non tutti siano programmatori e le istruzioni fornite sopra potrebbero sembrare piuttosto complesse. Per questo motivo, ho deciso di creare un servizio contro le false conversioni, in cui chiunque, anche senza conoscenze di programmazione, può generare il widget desiderato e installarlo facilmente sul proprio sito. Attualmente è disponibile il widget di WhatsApp. In futuro, sono previsti anche altri servizi di messaggistica, nonché moduli da inserire nei siti web.

Come funziona il widget

È possibile vedere il funzionamento del widget WaConvert sul sito demarkett.com. Su ogni pagina del sito, in basso a destra, c’è un pulsante di WhatsApp che invita a contattare un operatore.

Nelle classiche widget che si trovano in rete, quando si fa clic sul pulsante, si passa direttamente all’applicazione WhatsApp, e non sappiamo se il clic è stato casuale, se è stato fatto da un bot o da una persona reale. Perciò, in questo widget è stato aggiunto un ulteriore messaggio di dialogo, in cui l’operatore chiede di presentarsi nella finestra sottostante prima di iniziare la conversazione nell’applicazione WhatsApp. È ovvio che una persona reale scriverà il proprio nome e cliccherà sul pulsante verde “Inizia chat WhatsApp“.


Alcuni potrebbero pensare che finestre aggiuntive e la richiesta di fornire ulteriori informazioni possano ridurre la probabilità di conversione, ma posso assicurarvi che non è così. Ho condotto abbastanza esperimenti e ho constatato dai dati che la finestra di transizione del widget non diminuisce il tasso di conversione. Chi è genuinamente interessato al vostro prodotto o servizio non avrà problemi a compiere un passo aggiuntivo e a passare all’applicazione WhatsApp.

Al momento in cui si fa clic sul pulsante “Inizia chat WhatsApp“, viene automaticamente inviato un evento chiamato “wa_browser_message” in Google Analytics, che può essere designato come una conversione.

Inoltre, nel pannello amministrativo è prevista l’attivazione di un registro per la raccolta dei primi messaggi inviati sul sito. Possiamo verificare se un messaggio simile è arrivato nei nostri messaggi e, se lo è, possiamo inviare manualmente un evento offline a GA4.

Allo stesso modo, è possibile aggiungere quante altre azioni di conversione si desiderano (come Facebook Ads, Tik Tok) all’evento di invio del messaggio in una finestra appositamente dedicata nell’area personale.

Il giorno successivo, questi eventi verranno visualizzati nei report di Google Analytics con il nome “‘wa_offline_message“‘, e potremo assegnarli come conversioni.

Inoltre, abbiamo la possibilità di visualizzare informazioni dettagliate sulla visita dell’utente che ha inviato la richiesta. Possiamo vedere la fonte del traffico, le etichette UTM, e se ci sono state visite precedenti. Molte informazioni sensibili saranno crittografate in conformità alla legge GDPR sulla privacy dei dati degli utenti.

Al momento, il servizio è ancora in fase di sviluppo delle funzionalità. Invito tutti coloro che sono interessati a registrarsi e testare gratuitamente il servizio sui propri progetti per almeno un mese, se non di più. Iscrivetevi al mio gruppo Telegram dedicato alla pubblicità contestuale su Google Ads.