Cosa imparerai

Scopri Code e come creare funzioni personalizzate eseguite direttamente da Klaviyo.

Il codice richiede uno sviluppo personalizzato e il team di assistenza di Klaviyo non è in grado di offrire supporto pratico. Se nel tuo team non è presente uno sviluppatore e non te la senti di scrivere il codice in autonomia, valuta la possibilità di rivolgerti a un partner Klaviyo per ricevere assistenza.

Prima di iniziare

Advanced Klaviyo Data Platform non è incluso nell'applicazione di marketing standard di Klaviyo e per accedere alle funzionalità associate è necessario un abbonamento. Vai alla nostra guida alla fatturazione per scoprire come acquistare questo piano.

Cos’è il codice?

Il codice ti consente di eseguire funzioni personalizzate in risposta agli eventi acquisiti in Klaviyo. Puoi scrivere le tue funzioni in Javascript o Python nell'editor del codice, che verranno poi eseguite direttamente nella piattaforma.

Con il codice, puoi inviare dati ai sistemi esterni senza dover impostare un endpoint HTTP pubblico per ricevere webhook e costruire funzionalità personalizzate che si attivano in risposta al verificarsi di un evento. Inoltre puoi accedere a molti moduli precostituiti per facilitare la creazione di soluzioni personalizzate.

Argomenti

Il codice ti consente di eseguire funzioni personalizzate in risposta a qualsiasi evento che può essere interrogato tramite la Get Events API.

Tra questi rientrano:

  • Eventi e-mail (ad esempio, e-mail cliccate, e-mail contrassegnate come spam)
  • Eventi SMS (ad esempio SMS inviato, SMS ricevuto)
  • Eventi notifiche push (ad esempio, push ricevuta, push rimbalzata)
  • Eventi dalle integrazioni (ovvero, eventi dalle integrazioni first-party create da Klaviyo)
  • Eventi API (cioè gli eventi sincronizzati tramite l'API di Klaviyo)

Klaviyo Code non supporta i seguenti eventi come argomenti:

  1. E-mail aperta
  2. E-mail ricevuta

Interfaccia del codice

Per accedere al Codice, vai alla scheda Codice in Advanced Klaviyo Data Platform > gestione dei dati > Codice.

Per creare una funzione personalizzata, seleziona il pulsante Crea una funzione :

Create a function button
Create a function button

Verrai indirizzato alla pagina Ricette , dove puoi selezionare una soluzione predefinita da eseguire oppure una funzione Python o Node.js vuota.

image (9).jpg
image (9).jpg

Se selezioni una ricetta esistente, vedrai l’editor del codice con il codice della soluzione, insieme a una descrizione della funzionalità.

image (10).jpg
image (10).jpg

Se selezioni una funzione vuota per creare soluzioni personalizzate, verrà visualizzata la finestra modale Dettagli, in cui puoi:

  • Assegna un nome alla funzione
    Un nome per identificare la funzione.
  • Seleziona un argomento per la tua funzione
    L’evento che attiverà l’esecuzione del codice.
  • Seleziona un runtime
    L'ambiente di runtime in cui viene eseguito il codice (ad es. Python o Node.js).
3.11.jpg
3.11.jpg

Dopo aver effettuato le selezioni richieste e aver selezionato il pulsante Crea funzione , verrai portato in un’interfaccia con le seguenti schede:

  • Editor
  • Risultato del test
  • Registri

Concessione delle autorizzazioni

La prima volta che crei una funzione tramite Code, ti verrà chiesto di autenticare l'applicazione OAuth di Code. Questo è necessario affinché le funzioni Code possano accedere ai dati nel tuo account Klaviyo.

Dopo aver concesso l’accesso, verrai indirizzato all’editor di codice.

Editor

Nella pagina Editor in Code, vedrai la pagina divisa in 3 schede:

  • Codice
    La scheda Codice include un editor in cui puoi scrivere funzioni Python o Javascript.
  • Moduli
    I moduli sono pacchetti di terze parti che aggiungono funzionalità alle tue funzioni.
  • Variabili d'ambiente
    Le variabili d'ambiente sono le coppie chiave-valore a cui la funzione accede durante l'esecuzione.

Codice

Nella scheda Codice vedrai un editor che puoi usare per scrivere funzioni Python o Javascript, che vengono eseguite in risposta all’argomento selezionato.

3.11(2).jpg
3.11(2).jpg
js.jpg
js.jpg

Parametri della funzione handler

Affinché Klaviyo possa eseguire il codice che scrivi, devi racchiuderlo in una funzione denominata “handler” che accetta 2 parametri:

  • Evento
    È composto dai dati dell'evento associati all'evento di attivazione in formato JSON:API. Se l'attivatore non è basato su un evento (ad es. Aggiunto all'elenco), il valore di questo parametro sarà Nessuno o Null a seconda del linguaggio.
  • Contesto
    Contiene metadati aggiuntivi sull’esecuzione della funzione, incluso il profilo associato all’invocazione della funzione. Puoi accedere all’oggetto profilo tramite context.profile in Javascript o context["profile"] in Python.

Di seguito sono riportati esempi dei parametri event e context che vengono passati alla funzione handler.

Formato dell'evento di esempio

text
{
    {
  "data": {
    "type": "event",
    "id": "7S2q9haejYG",
    "attributes": {
      "timestamp": 1694435729,
      "event_properties": {
        "MfaEnabled": false,
        "IpAddress": "000.00.0.0",
        "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
        "UserRole": "Owner",
        "SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
        "LoginType": "Username_password",
        "current_company_id": "XXXXX",
        "$event_id": "1694435729"
      },
      "datetime": "2023-09-11 12:35:29+00:00",
      "uuid": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
    },
    "relationships": {
      "profile": {
        "data": {
          "type": "profile",
          "id": "123456"
        },
        "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
        }
      },
      "metric": {
        "data": {
          "type": "metric",
          "id": "4Tdup6"
        },
        "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
        }
      }
    },
    "links": {
      "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
    }
  }
}

Formato del contesto di esempio

text
{
    "company_id": "XXXXX",
    "trigger": {"type": "event", "uid": "123456"},
    "function_id": "123456",
}

Moduli

Nella scheda Moduli, puoi scegliere tra i moduli predefiniti più popolari (ad es., pacchetti di terze parti che aggiungono funzionalità alle tue funzioni).

Per aggiungere un modulo esterno da usare nel tuo codice, seleziona il pulsante Aggiungi modulo:

Add module button
Add module button

Nella finestra modale che appare, puoi cercare e selezionare il modulo che vuoi aggiungere:

Add module modal
Add module modal

Una volta aggiunto, puoi usare il modulo con il codice che scrivi in Klaviyo.

Dovresti fare riferimento alla documentazione nativa del modulo esterno per informazioni su come utilizzarlo.

Added modules
Added modules
Il modulo klaviyo

Tutte le funzioni di Codice includono un pacchetto Klaviyo personalizzato già preinstallato nel tuo ambiente Codice. Questo modulo consente alle tue funzioni di accedere ai dati nel tuo account Klaviyo senza dover fornire credenziali, come una chiave API.

L’API del modulo Klaviyo dipende dal fatto che il tuo codice sia scritto in Python o Javascript.

Python Klaviyo module

L’API del modulo klaviyo preinstallato è la stessa dell’oggetto SDK di Klaviyo che normalmente creeresti con il modulo Python klaviyo-api. Puoi considerare il modulo Klaviyo come un client SDK Klaviyo preistanziato.

Ad esempio, in un flusso di lavoro tradizionale, per prima cosa istanzieresti un nuovo client SDK di Klaviyo passando una chiave API al costruttore, quindi utilizzeresti l’oggetto SDK risultante.

text
from klaviyo_api import KlaviyoAPIimport osdef handler(event, context):  klaviyo = KlaviyoAPI(api_key=os.getenv("KLAVIYO_API_KEY"))  print(klaviyo.Metrics.get_metrics())

Con Code, ti basta importare l'oggetto Klaviyo e l'autenticazione viene gestita automaticamente per te.

text
import klaviyodef handler(event, context):  print(klaviyo.Metrics.get_metrics())

Visualizza gli oggetti Klaviyo disponibili e i relativi metodi.

Javascript Klaviyo module

Quando usi il modulo Klaviyo preinstallato nelle tue funzioni Javascript, importa le funzionalità specifiche a cui vuoi accedere usando la sintassi con parentesi graffe dal modulo Klaviyo. Poi usale come faresti normalmente con un oggetto API usando il modulo Javascript klaviyo-api .

text
import { Metrics } from 'klaviyo';export default async (event, context) => {  console.log(await Metrics.getMetrics())}

Visualizza gli oggetti Klaviyo disponibili e i relativi metodi.

Variabili d'ambiente

La scheda Variabili d'ambiente ti consente di impostare accoppiamenti chiave-valore a cui il tuo codice in Klaviyo può fare riferimento durante l'esecuzione. Possono essere utilizzate per memorizzare informazioni come credenziali e chiavi segrete, in modo che le tue funzioni possano accedervi durante l'esecuzione.

Per aggiungere una variabile di ambiente, seleziona il pulsante Aggiungi una variabile:

Add environment variables button
Add environment variables button

Nella finestra modale che appare, puoi impostare una coppia chiave-valore per la variabile di ambiente.

Key-value pairs set for environment variable
Key-value pairs set for environment variable

Una volta create, le variabili d’ambiente saranno elencate nella pagina e potranno essere utilizzate nel codice.

Per accedere alle variabili di ambiente nel tuo codice, usa os.getenv("Key") per Python o process.env.KEY per Node.js.

Created environment variables
Created environment variables

Per aggiornare il valore di una variabile di ambiente esistente, devi creare una nuova variabile con la stessa chiave per cui vuoi aggiornare il valore.

Risultato del test

La scheda Test output in Code ti consente di testare il tuo codice con eventi recenti per confermare che l'output si comporti come previsto.

Per testare la funzione:

  1. Seleziona il pulsante Esegui test:
Run test button
Run test button
  1. Nella finestra modale che appare, seleziona un evento con cui eseguire il test. Puoi selezionare uno dei 10 eventi più recenti acquisiti in Klaviyo.
Recent events to test with
Recent events to test with
  1. Dopo aver selezionato un evento con cui eseguire il test, verrà mostrato l’output del test:
Test output
Test output

Registri

La scheda Log mostra lo stato di integrità delle funzioni Code in esecuzione. Vedrai:

  • Stato
    Lo stato di avanzamento dell’esecuzione di una funzione.
  • Tempo di risposta
    Il tempo necessario affinché il tuo codice venga eseguito in risposta a un evento.
  • Data
    Un timestamp che indica quando la funzione è stata eseguita.

Limiti tariffari

Il codice di Klaviyo ha i seguenti limiti di frequenza:

  • Timeout della funzione
    Le funzioni in Code possono essere eseguite per un massimo di 15 secondi prima di andare in timeout.
  • Limite di frequenza della funzione
    Le funzioni in Code consentono fino a 25 esecuzioni concorrenti per funzione.

Distribuzione del codice

Per distribuire il codice che scrivi nell’editor, imposta il menu a discesa dello stato su Live.

Toggle to deploy code
Toggle to deploy code

Una volta pubblicato, il codice che scrivi verrà eseguito ogni volta che l'evento dell'argomento viene acquisito in Klaviyo.

Quando una funzione viene impostata come attiva, potrebbe verificarsi un ritardo fino a 15 minuti prima che gli eventi inizino ad attivare la funzione.

Soluzione di esempio

Di seguito è riportato un esempio di soluzione personalizzata implementata con codice.

Nell’esempio, i dati dell’evento sono impostati come Proprietà del profilo, così possono essere usati nelle e-mail mirate e nella segmentazione. L'evento personalizzato Booked shoot viene acquisito in Klaviyo quando i clienti prenotano un servizio fotografico con il brand e i dati sulla città della prenotazione e l'URL associato vengono impostati come Proprietà del profilo sul rispettivo profilo.

Viene anche creata una proprietà chiamata Recent bookings , che memorizza i dati dei 5 eventi Booked shoot più recenti, in modo da poterli scorrere in ciclo e accedervi nei modelli di e-mail.

Codice

Il codice Python per questa soluzione è scritto nell'editor di codice e viene eseguito direttamente da Klaviyo.

Code_updates.jpg
Code_updates.jpg

Codice di esempio

Moduli

In questo esempio, viene usato il modulo Klaviyo integrato. Il modulo Klaviyo si basa sull’aggiunta del modulo klaviyo-api alla funzione. Una volta aggiunto, il modulo Klaviyo gestirà l'autenticazione per te, quindi non è necessaria alcuna chiave API.

Variabili d'ambiente

Le variabili d'ambiente possono essere utilizzate per memorizzare informazioni come credenziali e chiavi segrete, in modo che le tue funzioni possano accedervi durante l'esecuzione. Per questo esempio, è impostato il seguente accoppiamento chiave-valore:

  • MAX_PROPERTIES_TO_STORE
    Una variabile d’ambiente utilizzata per definire il numero massimo di proprietà da archiviare per la funzione di esempio.

Esecuzione di test

Durante la creazione della funzione per impostare i dati dell'evento come Proprietà del profilo, la scheda Output di test viene utilizzata per verificare l'output previsto.

test_output.jpg
test_output.jpg

Registri

Una volta che la funzione è stata creata e testata, la scheda Log mostra lo stato di integrità della funzione mentre viene eseguita in risposta agli eventi Shooting prenotato .

Logs.jpg
Logs.jpg

Risultato

Con questa funzione di codice attiva, quando i clienti si iscrivono agli shooting e attivano l’evento personalizzato Shooting prenotato, i dati dell’evento verranno archiviati nel profilo del cliente per essere utilizzati nella segmentazione e nelle campagne mirate.

Implementazione delle ricette 

Le ricette in Code ti consentono di implementare soluzioni predefinite senza bisogno di sviluppo personalizzato.

Per implementare una Recipe nel tuo account Klaviyo:

  1. Seleziona il pulsante Crea funzione nella pagina Codice.
  2. Scegli la Recipe che vuoi implementare nel tuo account. Verrai indirizzato all'editor, dove potrai vedere il codice della Recipe selezionata, insieme a una descrizione di ciò che fa la funzione.
  3. Fai clic sul pulsante Seleziona per continuare.
Currency converter recipe in Klaviyo
Currency converter recipe in Klaviyo
  1. Scegli un nome per la funzione e il trigger che ne causerà l'esecuzione. Il runtime viene impostato automaticamente in base al codice della Recipe.
  2. Seleziona il pulsante Crea funzione.
  3. Una volta creata la funzione, imposta le variabili di ambiente pertinenti in modo che la funzione abbia i dati necessari per essere eseguita.
  4. Ora puoi testare la Recipe e impostarla su Live.

Le ricette potrebbero richiedere l’aggiornamento di alcuni campi per farli corrispondere alle preferenze di denominazione desiderate e ai dati nei tuoi eventi. Consulta le istruzioni per la Recipe per vedere quali campi possono essere rinominati e modificati.

Risorse aggiuntive

  • Getting started with Advanced KDP

    Learn more about using Advanced KDP (Klaviyo data platform) to gather robust customer insights across all your marketing initiatives. Advanced KDP enables more advanced data management, manipulation, and analysis. It also provides actionable strategies to employ across each of your individual audiences and your business as a whole.

  • Understand the different webhooks available in Klaviyo

    Learn about the differences between webhook solutions available in Klaviyo, and when you should use each one.

Questo articolo è stato utile?
Usa questo modulo solo per il feedback sull'articolo. Scopri come contattare l'assistenza.

Esplora altri contenuti di Klaviyo

Community
Entra in contatto con altre aziende simili, partner ed esperti di Klaviyo per trovare ispirazione, condividere approfondimenti e ottenere risposte a tutte le tue domande.
Partner
Assumi un esperto certificato Klaviyo per aiutarti con un compito specifico o per la gestione continua del marketing.
Assistenza

Accedi all'assistenza tramite il tuo account.

Assistenza via e-mail (prova gratuita e account a pagamento) Disponibile 24 ore su 24, 7 giorni su 7

Chat/assistente virtuale
La disponibilità può variare in base alla località e al tipo di piano