Loading
Journey e automazioni in Marketing Cloud Engagement
Query: Journey Builder invia per email nelle versioni

Query: Journey Builder invia per email nelle versioni

Aggregare tutti gli invii di email di Journey Builder in più versioni dello stesso journey. In alternativa, modificare questa query per trovare aperture, clic, rimbalzi, reclami o annullamenti delle iscrizioni nelle versioni in un intervallo di tempo specifico.

Prima di iniziare

Per utilizzare questo esempio, è necessaria una Knowledge di SQL. È possibile copiare e incollare gli esempi di codice, ma è necessario configurarli per l'impostazione.

Creazione di un'estensione dati di destinazione

In Contact Builder o Email Studio, creare un'estensione dati standard con le seguenti proprietà e campi. Questa estensione dati è la destinazione dell'output dati della query.

Estensione dati di destinazione EmailSendsByJourney
Chiave esterna EmailSendsByJourney
Nota
Nota Se si crea l'estensione dati in Email Studio, la colonna Nullabile sostituisce la colonna Obbligatorio. Se un campo non è obbligatorio, selezionare Nullable. Se un campo è obbligatorio, non selezionare Nullabile.
Chiave primaria Nome Tipo di dati obbligatorio Lunghezza Valore predefinito
  JourneyName Testo 100  
  Data Data    
  EmailName (Nome email) Testo 100  
  ActivityExternalKey Testo 100  
  Invii Numero    

Creazione di un'attività di query

In Automation Studio, creare una query SQL con le seguenti proprietà.

Nome query EmailSendsByJourney
Chiave esterna EmailSendsByJourney

Esempio di query

Copiare e incollare questa query.

SELECT j.journeyname,
       Cast(s.eventdate AS DATE) AS Date,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Sends
FROM   [_sent] AS s
       INNER JOIN [_journeyactivity] AS ja
               ON s.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON s.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND s.eventdate > Dateadd(day, -7, Getdate())
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(s.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Finalizzazione dell'attività di query

Personalizzare la query. Per identificare le righe da modificare, utilizzare i numeri di riga in Automation Studio.

  • Sulla linea 14, sostituire MY_JOURNEY_NAME con il nome del viaggio.
  • Se si esegue una query dall'unità operativa controllata di un account Enterprise 2.0, modificare la riga 11 per aggiungere il prefisso ent..
    • Originale: INNER JOIN [_subscribers] AS su
    • Modificato: INNER JOIN ent.[subscribers] AS su

Collegare la query all'estensione dati di destinazione.

Estensione dati di destinazione EmailSendsByJourney
Azione dati Sovrascrivi

Salvare l'attività di query e quindi creare e attivare un'automazione che utilizza l'attività.

Variazione della query: Acquisizione di invii per tutti i journey

Per acquisire gli invii per tutti i journey, rimuovere la riga 14 dalla query.

AND j.journeyname = MY_JOURNEY_NAME

Variazione della query: Acquisizione di un intervallo di tempo diverso

Per acquisire dati per un intervallo di tempo diverso, utilizzare un numero qualsiasi di giorni fino a 180. Ad esempio, in questa query abbiamo modificato la riga 15 per recuperare 14 giorni di dati.

SELECT j.journeyname,
       Cast(s.eventdate AS DATE) AS Date,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Sends
FROM   [_sent] AS s
       INNER JOIN [_journeyactivity] AS ja
               ON s.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON s.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND s.eventdate > Dateadd(day, -14, Getdate())
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(s.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Per estrarre un intervallo specifico, ad esempio tutte le attività di ieri, utilizzare questo codice.

SELECT j.journeyname,
       Cast(s.eventdate AS DATE) AS Date,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Sends
FROM   [_sent] AS s
       INNER JOIN [_journeyactivity] AS ja
               ON s.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON s.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ('EMAIL','EMAILV2')
       AND j.journeyname = MY_JOURNEY_NAME
       AND s.eventdate BETWEEN Dateadd(day,-1,Getdate()) AND Getdate() 
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(s.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

A seconda della quantità di dati recuperati, una query che si estende per più di 30 giorni può andare in timeout e non riuscire. Se la query scade, provare con un intervallo di tempo più breve.

Variazione della query: Acquisisci si apre

Per acquisire le aperture anziché gli invii, utilizzare questo codice. Assicurarsi di aggiungere i campi per Opens e OpenDate all'estensione dati di destinazione.

SELECT j.journeyname,
       Cast(o.eventdate AS DATE) AS OpenDate,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Opens
FROM   [_open] AS o
       INNER JOIN [_journeyactivity] AS ja
               ON o.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON o.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND o.eventdate BETWEEN Dateadd(day, -1, Getdate()) AND Getdate()
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(o.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Variazione della query: Acquisizione di clic

Per acquisire clic anziché invii, utilizzare questo codice. Assicurarsi di aggiungere i campi per Clicks e ClickDate all'estensione dati di destinazione.

SELECT j.journeyname,
       Cast(c.eventdate AS DATE) AS ClickDate,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Clicks
FROM   [_click] AS c
       INNER JOIN [_journeyactivity] AS ja
               ON c.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON c.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND c.eventdate BETWEEN Dateadd(day, -1, Getdate()) AND Getdate()
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(c.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Variazione della query: Acquisizione dei rimbalzi

Per acquisire i rimbalzi anziché gli invii, utilizzare questo codice. Assicurarsi di aggiungere campi per Bounce e BounceDate all'estensione dati di destinazione.

SELECT j.journeyname,
       Cast(b.eventdate AS DATE) AS BounceDate,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Bounces
FROM   [_bounce] AS b
       INNER JOIN [_journeyactivity] AS ja
               ON b.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON b.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND b.eventdate BETWEEN Dateadd(day, -1, Getdate()) AND Getdate()
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(b.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Variazione della query: Acquisizione dei reclami

Per acquisire i reclami anziché gli invii, utilizzare questo codice. Assicurarsi di aggiungere i campi per Reclami e DataReclamo all'estensione dati di destinazione.

SELECT j.journeyname,
       Cast(c.eventdate AS DATE) AS ComplaintDate,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Complaints
FROM   [_complaint] AS c
       JOIN [_sent] AS s
         ON c.jobid = s.jobid
            AND c.listid = s.listid
            AND c.batchid = s.batchid
            AND c.subscriberid = s.subscriberid
       INNER JOIN [_journeyactivity] AS ja
               ON s.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON c.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND c.eventdate BETWEEN Dateadd(day, -1, Getdate()) AND Getdate()
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(c.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey

Variazione della query: Acquisizione delle richieste di annullamento

Per acquisire le richieste di annullamento delle iscrizioni anziché gli invii, utilizzare questo codice. Assicurarsi di aggiungere i campi per Unsubscribes e UnsubscribeDate all'estensione dati di destinazione.

SELECT j.journeyname,
       Cast(u.eventdate AS DATE) AS UnsubscribeDate,
       ja.activityname           AS EmailName,
       ja.activityexternalkey,
       Count(*)                  AS Unsubscribes
FROM   [_unsubscribe] AS u
       JOIN [_sent] AS s
         ON u.jobid = s.jobid
            AND u.listid = s.listid
            AND u.batchid = s.batchid
            AND u.subscriberid = s.subscriberid
       INNER JOIN [_journeyactivity] AS ja
               ON s.triggerersenddefinitionobjectid = ja.journeyactivityobjectid
       INNER JOIN [_journey] AS j
               ON ja.versionid = j.versionid
       INNER JOIN [_subscribers] AS su
               ON u.subscriberid = su.subscriberid
WHERE  ja.activitytype IN ( 'EMAIL', 'EMAILV2' )
       AND j.journeyname = MY_JOURNEY_NAME
       AND u.eventdate BETWEEN Dateadd(day, -1, Getdate()) AND Getdate()
GROUP  BY j.journeyname,
          j.journeyid,
          Cast(u.eventdate AS DATE),
          ja.activityname,
          ja.activityexternalkey
 
Caricamento
Salesforce Help | Article