Tagging lato server: controllare i flussi senza promettere conformità

In sintesi

Spostare l’elaborazione dei tag sul server cambia l’architettura. Non rende automaticamente i dati completi, anonimi o conformi e non sostituisce le scelte delle persone.

Archivio di intelligence vuoto con dossier e mappe Illustrazione · scena fittizia
In questo articolo

Mappare prima di spostare

Può restare raccolta nel browser, invio al server e inoltro ai destinatari. Consent Mode comunica stati e adatta comportamenti; da solo non fornisce banner di scelta o validazione giuridica.

FaseControlloProva cercata
Browser o appCampi e scelte raccolti.Richieste realmente inviate.
Server di raccoltaValidazione, filtri e accesso.Eventi accettati o rifiutati.
DestinazioneDati effettivamente inoltrati.Contenuto e regole del consenso.
GestioneConservazione, permessi e recupero.Test di eliminazione, guasto e accesso.

Testare ciò che viene davvero inviato

  • Definite campi e destinatari consentiti per finalità. Ispezionate URL, parametri, identificatori e registri prima dell’invio; non presumete filtri predefiniti.
  • Testate accettazione, rifiuto e cambi di scelta lungo l’intera catena. Verificate browser, contenitore server e ogni destinazione.
  • Riconciliate eventi ricevuti, accettati e inoltrati. Testate duplicati, perdite, guasti e recupero; misurate costi e carico del server.

Valutare separatamente benefici e obblighi

Verificate prestazioni su percorsi confrontabili; può servire ancora raccolta iniziale nel browser. Un dominio proprietario non è un’esenzione. In Francia l’esenzione per alcuni strumenti di misurazione del pubblico è condizionata e non copre automaticamente tag pubblicitari.

Fonti primarie

L'etichettatura lato server necessita ancora di test di flusso.

Lo spostamento dei tag su un server non rende automaticamente la misurazione conforme o minima. Ispezionare le richieste emesse, i destinatari, gli identificatori e il comportamento dopo il rifiuto nell'implementazione effettiva.

  • Mappare browser, server di raccolta, fornitori e campi trasmessi.
  • Eseguire test prima della scelta, dopo il rifiuto e dopo la revoca del consenso.
  • Confrontare le impostazioni con gli scopi dichiarati e le condizioni pertinenti della CNIL.

Fonte primaria: CNIL — Outils de mesure d’audience et traceurs. Metodo correlato: consultare la guida pratica.

Quote e limiti delle API

I limiti condizionano capacità, ritentativi e distribuzione tra clienti.

  • Documenta se la quota riguarda account, chiave o risorsa e quante operazioni parallele ammette il client. Una coda illimitata può sovraccaricare il servizio anche con una frequenza media bassa.
  • Con 429 interpreta Retry-After, se presente, e attendi prima di un’altra richiesta. Combina attese crescenti e variazione tra client con un massimo di tentativi e una scadenza complessiva.
  • Per una scrittura con risposta persa verifica lo stato prima di ripetere. Nei test simulati combina limiti, risposte tardive e annullamento: la coda deve terminare senza duplicare effetti.

Caso di accettazione riproducibile

Esempio fittizio: questi dati non descrivono clienti o risultati osservati.

Vedi dati del caso
{
    "http_status": 429,
    "retry_after_seconds": 30,
    "workers": 20,
    "retry_budget": 3,
    "retry_budget_scope": "per_worker_retries_excluding_initial_request",
    "scheduling_example": {
        "response_received_at_seconds": 0,
        "illustrative_retry_seconds": [
            30,
            31,
            32,
            33,
            34
        ],
        "workers_per_second": 4,
        "alternative_deadline_seconds": 25,
        "total_attempts_if_all_retries_used": 80
    }
}

Decisione attesa

Rispetta 30 secondi, scagliona i 20 worker e limita i tentativi.

Venti client: distribuire e contare i tentativi

Esempio immaginario: 20 worker ricevono a +0 s una risposta 429 con Retry-After: 30. Gli orari mostrano una possibile distribuzione, senza garantire capacità del server. Ogni worker ha 3 nuovi tentativi oltre alla richiesta iniziale.

PoliticaCalcolo o orarioEffetto
Ripresa simultanea20 × 1 = 20 @ +30 sAttendere 30 secondi rispetta il ritardo, ma le 20 richieste tornano insieme: il picco può ripetersi.
Ripresa distribuita4 × 5 = 20 @ +30…+34 sQuattro richieste al secondo per cinque secondi distribuiscono i 20 tentativi senza ridurne il numero. Questo orario illustrativo non sostituisce una politica di attesa progressiva con variazione casuale.
Scadenza a 25 secondi25 s < 30 s → 0Se il tempo residuo è inferiore ai 30 secondi richiesti, fermare o rinviare secondo il contratto. Non abbreviare l’attesa per rispettare la scadenza.
Budget massimo20 × (1 + 3) = 80Usando tutti i tentativi, 20 richieste iniziali più 60 ripetizioni fanno 80 richieste. Il limite non garantisce successo né ripetizioni prive di effetti indesiderati.

Procedura di verifica

  1. Registra quota, ambito e budget dei tentativi.
  2. Esaurisci la quota solo in prove autorizzate.
  3. Conserva 429, Retry-After e sequenza limitata.
  4. Simula senza carico esterno quattro livelli da tre chiamate totali e conta i tentativi.
  5. Fai scadere un’attività fittizia in coda e verifica che non avvii un’operazione nuova.
  6. Ripristina lavoro autorizzato gradualmente dopo un guasto simulato e conserva chiamate, scadenze e risultati unici.

AWS — Timeouts, retries, and backoff with jitter

429 dimostra che una scrittura precedente non è avvenuta?

No. L’operazione con risposta persa richiede una riconciliazione separata; la risposta di un altro tentativo non ne dimostra lo stato.

Fonte primaria: IETF — RFC 6585, HTTP 429. Metodo correlato: consultare la guida pratica.

Perimetro della misura del carbonio

Un confronto necessita di confini e unità funzionali comuni.

  • Elenca componenti, regione, periodo e unità funzionale, per esempio un’operazione completata. Confronta scenari con lo stesso servizio reso.
  • Registra energia, fattore emissivo e quota dell’hardware. Distingui misure e stime; documenta esclusioni senza assumere impatto nullo.
  • Esempio fittizio: (12 + 3) gCO2e / 5 operazioni = 3 gCO2e per operazione. Varia ipotesi incerte e confronta anche emissioni totali.

Caso di accettazione riproducibile

Esempio fittizio: questi dati non descrivono clienti o risultati osservati.

Vedi dati del caso
{
    "functional_unit": "accepted_task",
    "energy_kWh": 2,
    "intensity_gCO2e_per_kWh": 100,
    "embodied_gCO2e": 50,
    "accepted_tasks": 100,
    "SCI_gCO2e_per_task": 2.5
}

Decisione attesa

(2 × 100 + 50)/100 = 2,5 gCO2e per attività, solo nel perimetro dichiarato.

Procedura di verifica

  1. Fissa perimetro, unità funzionale e fattori.
  2. Separa energia, emissioni incorporate e risultati.
  3. Conserva provenienza e calcolo senza compensazione implicita.

Green Software Foundation — Software Carbon Intensity

Fonte primaria: Green Software Foundation — Software Carbon Intensity. Metodo correlato: consultare la guida pratica.

API: evitare tentativi moltiplicati tra livelli

Applicazione, SDK, proxy e servizio possono ripetere la stessa chiamata. Quattro livelli fittizi con tre tentativi totali ciascuno producono fino a 81 chiamate alla dipendenza guasta. Aggiungi budget condiviso e scadenza utile ai controlli di quota.

  • Mappa applicazione, SDK, proxy e dipendenze con tentativi automatici. Scegli il livello responsabile e disattiva o coordina ripetizioni extra secondo contratto. Conta il tentativo iniziale nel budget. Conserva ID e verifica effetti incerti prima di ripetere operazioni non idempotenti.
  • Definisci scadenza complessiva per attesa, connessione ed elaborazione secondo limiti del client. Rifiuta attività scadute prima della coda. Annullare localmente non prova arresto del server: riconcilia stato. Ripristina traffico gradualmente senza riavviare tutte le code insieme.

Tre tentativi per livello significano tre totali?

No. Quattro livelli fittizi con tre tentativi ciascuno danno fino a 3⁴ = 81 chiamate finali.

La scadenza annulla l’effetto remoto?

Non sempre. Impedisce nuovo lavoro obsoleto; un’operazione remota avviata richiede controllo dello stato e compensazione se possibile.

Fonte primaria: AWS — Timeouts, retries, and backoff with jitter. Metodo correlato: consultare la guida pratica.