Il contesto della pagina è l'informazione che trasmetti a Dynamic Yield su una pagina visualizzata da un visitatore del tuo sito. Il contesto della pagina include dettagli sul tipo di pagina (homepage, pagina di prodotto e così via) e attributi (ad esempio, se è una pagina di prodotto, per quale prodotto). Tieni presente che l'implementazione del contesto della pagina richiede competenze tecniche.
Importante: devi assicurarti che il contesto della pagina sia determinato su ogni pagina, in base a uno o entrambi i metodi descritti in questo articolo. Se manca il contesto della pagina, molte funzionalità non funzionano come previsto. Ad esempio, il targeting per tipo di pagina non riesce, i profili di affinità non vengono aggiornati e le raccomandazioni non vengono fornite.
Impostazione del contesto della pagina
Scegli il tuo metodo
Esistono due modi per determinare il contesto della pagina sul tuo sito:
- Tramite codice: inserisci un breve frammento di codice nel tag <head> di ogni pagina, prima dello script di Dynamic Yield.
-
Regole di rilevamento automatico: imposta le regole per rilevare il tipo di pagina e recuperarne gli attributi. Consigliato per le SPA. Questa opzione è supportata solo per i siti di e-commerce che utilizzano il Flusso SPA di Dynamic Yield.
Nota: contatta il tuo account manager tecnico per abilitare il rilevamento automatico.
Non devi scegliere solo un'opzione
Puoi implementare diversi tipi di pagina in diversi modi. Ad esempio, può utilizzare il codice sulla tua home page e le regole di rilevamento automatico per le pagine dei prodotti.
Puoi anche utilizzare entrambi i metodi per gli stessi tipi di pagina. In questo caso, il contesto viene determinato innanzitutto dalle regole di rilevamento automatico, mentre il codice è l'alternativa se le regole non funzionano per qualsiasi motivo.
Impostazione del contesto
Entrambe le opzioni iniziano con l'accedere a Impostazioni › Impostazioni generali nella navigazione.
Opzione 1: implementazione del contesto utilizzando il codice
Prendi il codice dalla schermata Impostazioni generali e incolla il codice pertinente ogni pagina.
Esempio di homepage:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function HomePage() {
//...
useEffect(() => setDYContext('HOMEPAGE'));
return (
//...
)
}
Esempio di pagina di prodotto:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function ProductPage(props) {
// ...
useEffect(() => setDYContext('PRODUCT', [ props.sku ]), [ props.sku ]);
return {
// ...
)
}Esempio di homepage:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class HomePage extends React.Component{
//...
componentDidMount() {
setDYContext('HOMEPAGE');
}
render() {
return {
//...
)
}
}
Esempio di pagina di prodotto:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class ProductPage extends React.Component{
constructor(props) {
super(props);
this.state = { sku: props.sku }
}
//...
componentDidMount() {
setDYContext('PRODUCT', [ this.props.sku ]);
}
componentDidUpdate(prevProps) {
if (prevProps.sku !== this.props.sku) {
setDYContext('PRODUCT', [ this.props.sku ]);
}
}
render() {
return(
//...
)
}
}<script type="text/javascript">
window.DY = window.DY || {};
dy.recommendationContext = { type: "PRODUCT", data: ['SKU123'] };// in questo esempio: una pagina di prodotto
</script>
<script type="text/javascript">
window.DY = window.DY || {};
dy.recommendationContext = { type: "POST", data: ['POST_ID123'] };// in questo esempio: una pagina di pubblicazione
</script>
Opzione 2: rilevamento automatico del contesto della pagina
Questo metodo ti consente di essere flessibile e di apportare modifiche senza alterare il codice del tuo sito. Tuttavia, considera che il rilevamento automatico potrebbe causare un piccolissimo ritardo nella pubblicazione delle campagne (noto anche come "flicker"). Inoltre, questa funzione pronta all'uso potrebbe richiedere comunque alcune modifiche al codice.
- Determina come vuoi definire ogni tipo di pagina. Attualmente, questa operazione si esegue utilizzando un pattern nell'URL della pagina ('contains' o 'regex') o utilizzando il tag <titolo> della pagina.
Nota: nell'opzione URL, i parametri vengono ignorati ai fini di valutazione. - Per tutti i tipi di pagina ad eccezione di Homepage e Altro, devi anche definire gli attributi della pagina per completare i dati contestuali. Questa operazione può essere eseguita nell'URL della pagina o inserendo l'attributo di dati pertinente.
- Per verificare che le regole siano definite correttamente:
- fai clic su Verifica, quindi seleziona la pagina selezionando la pagina
- Scopri come Dynamic Yield identifica questa pagina utilizzando la nostra Guida all'implementazione.
- Se il tuo sito è multilingue, aggiungi una versione più snella del contesto al codice del tuo sito, con solo l'attributo "lng". Ad esempio:
DY.recommendationContext = {lng: 'en_GB'};
Se apporti modifiche al sito in futuro, assicurati di aggiornare anche le impostazioni del contesto pertinenti.
Di seguito sono indicati degli esempi di espressioni regolari per il contesto su ognuno di questi tipi di pagina:
Homepage
L'espressione regolare (regex) aggiunta in questa regola di contesto è una stringa aggiunta alla fine dell'URL della home page: www.mysite.com/[REGEX], dove il tag [REGEX] viene sostituito con qualsiasi espressione tu voglia usare. Tieni presente che non può esserci testo aggiuntivo dopo l'espressione.
Esempio:
Espressione: /\w{2}\/\w{2}\/$ (URL is www.mysite.pl/\w{2}\/\w{2}\/$)
Questa regola trova l'URL: www.mysite.com/pl/pl/
Questa regola non trova l'URL: www.mysite.com/pl/pl/new-in/men
Pagina di prodotto
Per impostare un'espressione regolare per il contesto di una pagina di prodotto, ci sono due parti: Definisci il tipo di pagina (imposta il targeting del prodotto) e definisci la posizione dello SKU (imposta la regola del contesto):
Nell'area Definisci il tipo di pagina, seleziona il contesto regex, quindi aggiungi l'espressione (dove nell'esempio viene visualizzato [my regex].
Esempio:
Espressione: *[a-zA-Z0-9_]{5}-[a-zA-Z0-9_]{3}. *
Questa regola trova tutte le pagine con una struttura SKU che soddisfa le condizioni incluse, come questo URL:
www.mysite.com/pl/pl/4270h-00x/opaska-na-wl-re
Successivamente, imposta dove si trova lo SKU nella pagina di prodotto. In questo esempio, il valore SKU è preso dal [0]dataLayer.sku (sulla pagina). Gli oggetti possono essere usati nelle regole regex se sono disponibili dalla finestra globale.
Pagina del carrello
L'URL del carrello è univoco. Ad esempio, questo URL: https://www.mysite.com/pl/pl/checkout/cart/ è l'unico URL del sito con la stringa /checkout/cart. Pertanto, non è necessaria alcuna regola regex. Il tipo di pagina può essere rilevato utilizzando il parametro URL.
Note:
- le regole di contesto hanno un timeout di 50 ms, quindi assicurati che l'elemento che stai richiedendo sia disponibile in questo lasso di tempo.
- L'attributo dinamico può essere una parola (stringa), un carattere e così via), oppure può essere un codice disponibile nella finestra globale, ad esempio: dataLayer[0].sku.
Dati contestuali
I dati contestuali variano in base al settore del tuo sito web:
Tipo di pagina | Attributi | Esempio di codice (non SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Category | Gerarchia completa dei nomi delle categorie, dall'alto in basso. I nomi delle categorie devono essere identici alle categorie che appaiono nel feed di prodotti (maiuscole incluse). | DY.recommendationContext = {type:'CATEGORY', data: ['Women', 'Accessories','Hats']}; |
Product | SKU (stringa). Deve corrispondere a uno SKU nel feed di prodotto. | DY.recommendationContext = {type:'PRODUCT', data: ['SKU123']}; |
Cart Gli istituti finanziari utilizzano il contesto del carrello per le pagine dell'applicazione |
Fino a 20 SKU (stringhe). Devono corrispondere agli SKU nel feed del prodotto.
|
Se ci sono articoli nel carrello: DY.recommendationContext = {type:'CART', data: ['SKU123','SKU234']}; Se il carrello è vuoto: DY.recommendationContext = {type:'CART', data: ['']}; |
Other (se la pagina non corrisponde a nessuno dei tipi di pagina precedenti) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Tipo di pagina | Attributi | Esempio (non SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Category | Gerarchia completa dei nomi delle categorie, dall'alto in basso. I nomi delle categorie devono essere identici alle categorie che appaiono nel feed di contenuti (maiuscole incluse). | DY.recommendationContext = {type:'CATEGORY', data: ['TOP_LEVEL_CAT', 'CHILD_CAT','GRANDCHILD_CAT']}; |
Post (la pagina dei contenuti) |
ID articolo (stringa). Deve corrispondere a un ID di pubblicazione nel feed di contenuti. | DY.recommendationContext = {type: 'POST', data: ['1234']}; |
Other (se la pagina non corrisponde a nessuno dei tipi di pagina precedenti) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Tipo di pagina | Attributi | Esempio (non SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Other (se la pagina non è la home page) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Nota: tutti i valori contestuali della pagina devono essere in lettere maiuscole.
Supporto multilingue
Dynamic Yield supporta siti Web multilingue e multilocalizzati visualizzando automaticamente i dati corretti sui prodotti consigliati (ad esempio il nome del prodotto) nella lingua attualmente visualizzata nella pagina) e le varianti. Per adattare le campagne di Dynamic Aggiungi alle impostazioni locali della pagina, aggiungi l'attributo “lng” al contesto della pagina, con le impostazioni locali della pagina come valore:
DY.recommendationContext = {type: 'HOMEPAGE', lng: 'en_GB'};
Le impostazioni locali possono essere determinate liberamente, ma devono corrispondere alle impostazioni locali utilizzate nel il tuo feed di prodotti/contenuti. Puoi anche indirizzare le campagne in base alle impostazioni locali dell'utente (utilizzando l'attributo "lng"). Per saperne di più, consulta l'articolo Supporto multilingue .
Convalida della configurazione del contesto della pagina
- Accedi a Dynamic Yield e apri il tuo sito Web.
- Passa il mouse sull'icona Dynamic Yield
nell'angolo in basso a destra e fai clic sull'icona Guida all'implementazione
. Se non vedi l'icona Dynamic Yield, vuol dire che non hai effettuato l'accesso oppure il tuo script non è implementato.
- Inizia dalla tua home page. Verifica che il tipo di pagina sia “Homepage” e che l'implementazione del contesto sia ‘Prima dello script’. Continua con i diversi tipi di pagina (pagina della categoria, del prodotto o dell'articolo) per verificare che il contesto della pagina sia stato implementato correttamente.
- Vai a una pagina del carrello vuota. Dovresti vedere un avviso indicante che non c'è nessuno SKU nel carrello.
- Per le pagine dei prodotti, verifica che gli SKU siano elencati correttamente. Se il tuo feed non è sincronizzato, riceverai un errore di convalida. Questo errore si verifica quando lo SKU del prodotto corrente non è presente nel feed.
- Quando convalidi un sito di e-commerce, puoi anche sfruttare la dashboard di implementazione in Impostazioni › Impostazioni generali. Le informazioni sul contesto della pagina vengono aggiornate nella dashboard di implementazione ogni dieci minuti, pertanto le modifiche molto recenti potrebbero non venire riflesse.
Se il contesto della pagina non è convalidato, fai clic su Scarica registro per approfondire eventuali problemi. Questo registro aggrega tutti i problemi noti delle ultime 12 ore. Scopri di più sulla dashboard Stato implementazione e sui registri.