Disegna la struttura prima del codice
Il dataLayer è un contratto: da una parte il sito promette dei nomi, dall’altra GTM ci costruisce sopra variabili, tag e report. Se cambi un nome fra sei mesi, si rompono in silenzio i report di sei mesi. Quindi la struttura si decide prima, e una volta sola.
Quella che uso ha una sola chiave di primo livello, bcm, con due rami:
{
"bcm": {
"identity": {
"type": "tutorial",
"view": "single",
"content_id": "post_42"
},
"classification": {
"topic": { "primary": "data-analisi", "cluster": "data-analisi-gtm", "all": ["data-analisi", "bebop-content-model"] },
"target": { "primary": "professionisti-del-digitale", "end_user": "professionisti-del-digitale-data-analyst", "all": ["professionisti-del-digitale"] },
"cj": { "primary": "reader-journey", "cj_stage": "02 - Approfondimento", "all": ["reader-journey"] },
"intent": "Portare topic, target e stage nel dataLayer in una struttura stabile"
}
}
}Tre scelte da notare. Una chiave sola, bcm, perché quei dati appartengono al modello e non si mescolano con quelli del tema o di altri plugin. identity c’è su ogni pagina, anche su una 404; classification solo dove il contenuto è classificato. E i valori sono slug, non etichette: se domani rinomini “SEO Tecnica” in “SEO tecnica e AEO”, lo slug resta lo stesso e i report non si spezzano.
