Ti trovi qui:
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 |
| Chiave primaria | Nome | Tipo di dati | obbligatorio | Lunghezza | Valore predefinito |
|---|---|---|---|---|---|
| JourneyName | Testo | Sì | 100 | ||
| Data | Data | Sì | |||
| EmailName (Nome email) | Testo | Sì | 100 | ||
| ActivityExternalKey | Testo | Sì | 100 | ||
| Invii | Numero | Sì |
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_NAMEcon 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
- Originale:
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_NAMEVariazione 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.activityexternalkeyPer 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.activityexternalkeyA 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.activityexternalkeyVariazione 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.activityexternalkeyVariazione 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.activityexternalkeyVariazione 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.activityexternalkeyVariazione 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