Integra Connectif con Motive per utilizzare i dati di ricerca generati da ogni contatto nei workflow di Connectif.
In questo articolo, imparerai come integrare Motive con Connectif e come salvare nei campi personalizzati del contatto il marchio e/o i filtri di ricerca del prezzo minimo e massimo
Perché implementare l'estensione
1. Casi d'uso che potrai creare dopo questa integrazione
Qui ti lasciamo alcune idee che potrebbero esserti utili per implementare diverse strategie nell'applicazione Motive dopo aver attivato l'estensione Motive nel tuo negozio Connectif.
- Aggiungere un raccomandatore nella Home basato sul marchio e sugli intervalli di prezzo che il contatto ha indicato in Motive.
- Inviare un'email con prodotti adattati alle loro ricerche ai contatti che hanno effettuato una ricerca in Motive includendo marchio e prezzi e non hanno fatto nient'altro.
2. Quali dati puoi portare da Motive a Connectif?
Con questa estensione, Connectif riceverà da Motive le informazioni di:
- Il termine di ricerca che un contatto utilizza in Motive.
- Il marchio e, se utilizzato, la limitazione del prezzo minimo e massimo, filtrato dal contatto nella sua ricerca.
PASSO 1: Creazione dell'integrazione personalizzata in Connectif
1. Accedi a Impostazioni negozio nel menu laterale sinistro.
2. Nel selettore di schede, vai su "Integrazioni > Integrazioni personalizzate (webhook)" e fai clic su Crea nuova integrazione.
3. Imposta il campo "Nome integrazione" per identificare l'integrazione.
4. (Opzionale) Personalizza il colore, aggiungi una descrizione o categorizza l'integrazione.
5. Fai clic su Salva.
PASSO 2: Creazione dell'evento di ricezione
2.1. Creazione dell'evento di ricezione della ricerca, prezzo e marchio
(In questa sezione spieghiamo come creare e configurare l'evento che verrà ricevuto da Motive).
6. Nella scheda Ricevi dati, fai clic su Crea nuovo evento di ricezione e seleziona il tipo Web/App mobile.
7. Assegna un nome e l'alias "motive-search".
8. Fai clic su Aggiungi un nuovo campo per creare ciascuno dei campi personalizzati e compila le loro informazioni:
- Crea un campo con il nome "Brand" e l'ID "brand" di tipo Testo per raccogliere il marchio.
- Crea un campo con il nome "PriceFrom" e l'ID "priceFrom" di tipo Decimale per raccogliere il delimitatore del prezzo minimo.
- Crea un campo con il nome "PriceUpTo" e l'ID "priceUpTo" di tipo Decimale per raccogliere il delimitatore del prezzo massimo.
9. Fai clic su Salva.
PASSO 3: Creazione del workflow per attivare l'evento durante la navigazione del contatto
(In questa sezione creeremo il workflow che raccoglierà l'attività del contatto durante la sua navigazione nel motore di ricerca di Motive all'interno dell'eCommerce. Questa attività verrà raccolta tramite uno script che sarà inserito nell'eCommerce tramite un inline).
10. Vai su Workflows e crea un nuovo workflow vuoto.
11. Nella configurazione del nodo "Inizio", nell'area Scegli una limitazione seleziona Tutta la mia lista e, in Scegli una fonte di dati seleziona Tutti i nuovi e quelli esistenti.
12. Aggiungi il nodo attivante "Visita pagina" perché il workflow si attivi quando un contatto visita il sito.
13. Accedi alla sua configurazione e, nella scheda Limitazioni, rimuovi tutte le limitazioni.
14. Aggiungi il nodo "Invia contenuto web" per inserire lo script che verificherà l'attività del contatto su Motive.
15. Accedi alla sua configurazione e crea un nuovo contenuto di tipo Inline.
16. Nell'editor del contenuto, aggiungi un componente di tipo HTML.
17. Modifica il contenuto, copiando e incollando il seguente codice:
<script>
(function () {
var searchEventAlias = "motive-search";
var tempQuery = null;
var tempPriceFrom = null;
var tempPriceUpTo = null;
var tempFirstBrand = null;
function sendConnectifEventsWhenReady(events) {
if (
window.connectif &&
window.connectif.managed &&
window.connectif.managed.isInitialized()
) {
window.connectif.managed.sendEvents(events);
} else {
document.addEventListener(
"connectif.managed.initialized",
function onConnectifInitialized() {
window.connectif.managed.sendEvents(events);
},
{ once: true }
);
}
}
function debounce(func, timeout) {
var timer;
return function (data) {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
func(data);
}, timeout);
};
}
function isInterfaceXDefined() {
return !!window.InterfaceX;
}
function whenInterfaceXReady() {
if (isInterfaceXDefined()) {
return Promise.resolve();
}
var numberOfChecks = 50;
var count = 0;
return new Promise((resolve, reject) => {
function check() {
setTimeout(function () {
if (isInterfaceXDefined()) {
resolve();
} else {
count++;
if (count === numberOfChecks) {
reject(new Error("InterfaceX cannot found after timeout"));
} else {
check();
}
}
}, 100);
}
check();
});
}
whenInterfaceXReady()
.then(function onInterfaceXDefined() {
window.InterfaceX.bus.on("SearchResponseChanged", true).subscribe(
debounce(function onSearch(payload) {
var data = payload.eventPayload.request;
// ignore page navigation
if (data.page > 1) {
return;
}
var priceFrom =
(data &&
data.filters &&
data.filters.price &&
data.filters.price[0] &&
data.filters.price[0].range &&
data.filters.price[0].range.min) ||
null;
var priceUpTo =
(data &&
data.filters &&
data.filters.price &&
data.filters.price[0] &&
data.filters.price[0].range &&
data.filters.price[0].range.max) ||
null;
var firstBrand =
(data &&
data.filters &&
data.filters.brand &&
data.filters.brand[0] &&
data.filters.brand[0].label) ||
null;
var query = data.query;
var queryHasChanged = query !== tempQuery;
var brandHasChanged = firstBrand !== tempFirstBrand;
var priceRangeHasChanged =
priceFrom !== tempPriceFrom || priceUpTo !== tempPriceUpTo;
if (!queryHasChanged && !priceRangeHasChanged && !brandHasChanged) {
return;
}
tempQuery = query;
tempPriceFrom = priceFrom;
tempPriceUpTo = priceUpTo;
tempFirstBrand = firstBrand;
function trackSearch() {
var events = [];
if (queryHasChanged) {
events.push({
type: "search",
searchText: query,
});
}
if (priceRangeHasChanged || brandHasChanged) {
events.push({
type: "custom",
eventAlias: searchEventAlias,
payload: {
priceFrom: priceFrom || 0,
priceUpTo: priceUpTo || 0,
brand: firstBrand
},
});
}
sendConnectifEventsWhenReady(events);
}
trackSearch();
}, 1000)
);
})
.catch(console.error);
})();
</script>
18. Salva il contenuto e continua per completare la configurazione del nodo.
19. Seleziona il contenuto Inline che hai appena creato e fai clic su Avanti .
20. Nella schermata successiva, aggiungi il selettore appropriato per mostrare il contenuto. Questo deve essere un elemento che si trova sulla tua pagina. Nel nostro esempio, abbiamo collocato il selettore nel footer della pagina, in modo che il contenuto (ovvero lo script) venga sempre attivato.
21. Nella scheda Limitazioni, rimuovi tutte le limitazioni del nodo e salva la configurazione dello stesso.
22. Salva e attiva il Workflow.
PASSO 4: Archiviazione delle informazioni nel foglio contatti di Connectif
4.1. Creazione dei campi personalizzati in Connectif
(In questa sezione creeremo i campi personalizzati che raccoglieranno le informazioni inviate da Motive, come il marchio e i filtri di prezzo minimo e massimo utilizzati dal contatto durante la navigazione).
23. Vai su "Contatti > Campi del contatto" e fai clic su Aggiungi nuovo campo personalizzato.
24. Assegna il tipo Testo e fai clic su Vai all'editor.
25. Assegna il Nome "Brand" e l'ID "brand" e fai clic su Salva. Questo valore raccoglierà il marchio del prodotto cercato.
26. Crea un secondo campo, questa volta di tipo Decimale.
27. Assegna il Nome "priceFrom" e l'ID "priceFrom" e fai clic su Salva. Questo valore raccoglierà il prezzo minimo indicato dal contatto.
28. Crea un terzo campo, anch'esso di tipo Decimale.
29. Assegna il Nome "priceUpTo" e l'ID "priceUpTo" e fai clic su Salva. Questo valore raccoglierà il prezzo massimo indicato dal contatto.
4.2. Creazione del workflow per aggiornare i campi
(In questa sezione spieghiamo come archiviare i dati inviati da Motive nella scheda del contatto in Connectif tramite un workflow).
30. Accedi dal menu laterale sinistro a Workflows e crea un nuovo Workflow Personalizzato.
31. Nella configurazione del nodo "Inizio", nell'area Scegli una limitazione, scegli Tutta la mia lista e, in Scegli una fonte di dati seleziona Tutti i nuovi e quelli esistenti.
32. Collega il nodo "Inizio" al nodo di tipo Trigger che hai creato per ricevere il marchio e il prezzo da Motive.
33. Collega il nodo di tipo Trigger al nodo "Imposta campo".
34. Accedi alla sua configurazione e, all'interno della sua interfaccia, trascina i campi che hai appena creato, con la fonte dati Contatto, dalla colonna sinistra al blocco centrale, in modo che corrispondano ai campi omonimi della colonna destra.
35. Salva la configurazione del nodo.
36. Salva e attiva il tuo workflow.
Continua a imparare!
Per sfruttare al meglio il tuo account Connectif, ti consigliamo di continuare con i seguenti articoli:
Consigliere sulla home, per imparare a creare una barra di raccomandazione sulla home page, che puoi personalizzare con i dati di Motive.
Integrazione personalizzata per ricevere dati, per imparare come usare le informazioni che non sono registrate di default nella piattaforma.
Integrazioni con sistemi esterni, per integrare il tuo account Connectif con Facebook, moduli e altri webhook del tuo sito.
Integrazioni tramite API, per gestire eventi come registrazioni acquisti o iscrizioni contatti.