Template di marketing WhatsApp
Un template di marketing contiene contenuti promozionali, come un'offerta, l'annuncio di un prodotto o un coupon. Prima dell'invio, prepara contenuti approvati, il consenso del destinatario e un modo chiaro per gestire risposte e opt-out.
WhatsApp Studio invia a un destinatario alla volta. Un broadcast invia un template di marketing a un intero pubblico dalla dashboard. Per pianificare una campagna, consulta WhatsApp Studio e campagne di marketing.
Prima dell'invio
Il catalogo gestito di Bird non include alcun template di marketing, quindi un invio di marketing usa sempre un template creato dal tuo spazio di lavoro, su un tuo WhatsApp Business Account:
- Collega un tuo WhatsApp Business Account e un tuo numero. Consulta Configurazione del numero di telefono.
- Crea un template di marketing e invialo per la revisione. Consulta le Linee guida per i template per sapere cosa viene approvato.
- Invia da un numero sullo stesso WhatsApp Business Account del template.
fromè obbligatorio in un invio di marketing, e un mittente su un account diverso viene rifiutato422E15023WhatsAppSenderWABAMismatchprima di qualsiasi addebito.
Inviare un template di marketing
POST /v1/whatsapp/messages con from impostato e un oggetto template che indica il tuo slug:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13125550101",
template: {
slug: "summer_sale",
language: "en",
parameters: {
header_url: "https://cdn.example.com/banners/summer.png",
first_name: "Pablo",
code: "SUMMER25",
},
},
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13125550101",
template="summer_sale",
language="en",
parameters={
"header_url": "https://cdn.example.com/banners/summer.png",
"first_name": "Pablo",
"code": "SUMMER25",
},
)
print(msg.id, msg.status)package main
import (
"context"
"fmt"
"log"
"os"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+16505551234",
From: "+13125550101",
Template: "summer_sale",
Language: "en",
Parameters: map[string]any{
"header_url": "https://cdn.example.com/banners/summer.png",
"first_name": "Pablo",
"code": "SUMMER25",
},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13125550101',
template: 'summer_sale',
language: 'en',
parameters: [
'header_url' => 'https://cdn.example.com/banners/summer.png',
'first_name' => 'Pablo',
'code' => 'SUMMER25',
],
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13125550101 \
--language en \
--parameters '{"code":"SUMMER25","first_name":"Pablo","header_url":"https://cdn.example.com/banners/summer.png"}' \
--template summer_sale \
--to +16505551234curl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+16505551234",
"from": "+13125550101",
"template": {
"slug": "summer_sale",
"language": "en",
"parameters": {
"header_url": "https://cdn.example.com/banners/summer.png",
"first_name": "Pablo",
"code": "SUMMER25"
}
}
}'- Le variabili del corpo hanno un nome, come nei template utility, quindi
first_nameè una chiave a sé. - Il codice di un pulsante coupon va in
code, come in quello sopra. Non esiste una chiave separata per il coupon. - Un'intestazione multimediale usa
header_url, che sia un'immagine, un video o ungif. Se la ometti, viene inviato l'esempio approvato del template. Un template importato da Meta non ne ha uno, quindi richiedeheader_url. Marketing è l'unica categoria che accetta un'intestazione con GIF animata. - Il media e il suffisso numerato dell'URL di una scheda del carosello usano chiavi numerate:
header_url_1ebutton_url_1per la prima scheda,header_url_2per la seconda e così via. Assegna un nome alle variabili all'interno delle schede. Un nome usato in due schede è un'unica chiave, quindi entrambe le schede ricevono lo stesso valore. Un carosello in cui ogni scheda numera un{{1}}accetta solocomponents, con i valori sucards, e quell'invio deve fornire esattamente il numero di schede con cui il template è stato approvato.
Bird instrada automaticamente ogni invio marketing verso la API Marketing Messages di Meta: non devi aderire e non c'è un'opzione per singolo invio. Lo stato di onboarding dell'account business con quella API condiziona le ottimizzazioni di Meta, non la consegna in sé, con eccezioni per le intestazioni gif e per i template a prezzo massimo, che richiedono un account con onboarding completato. Consulta Template marketing per lo stato dell'account, cosa sblocca l'onboarding e in quali paesi il marketing è limitato.
Disiscrizioni
Quando Bird riceve da Meta un evento valido di stop al marketing, registra una preferenza del destinatario per quell'account business. Questa preferenza è distinta da una soppressione di tutti i messaggi. Controlla entrambi i record prima di inviare. Un errore di consegna può arrivare prima dell'evento di preferenza corrispondente: rispetta la scelta del destinatario ed esamina quella cronologia invece di riprovare. Consulta Preferenze per registrare e leggere questi record.
Costi
Usa la tariffa marketing pubblicata per la destinazione e la valuta, oppure imposta un prezzo massimo per un costo di consegna Meta variabile fino al tuo limite. Bird addebita la sua tariffa in uscita prima dell'invio; un esito di consegna o lettura fatturabile può aggiungere la tariffa di Meta. Consulta Costi e fatturazione e Prezzi di WhatsApp.
Aspetti da tenere d'occhio
- La categoria assegnata da Meta determina il prezzo. Dopo l'approvazione, Meta può riclassificare come marketing un contenuto promozionale. Prima di inviare, verifica la categoria attuale di ogni lingua; un invio a prezzo massimo richiede la categoria marketing. Se non sei d'accordo con la classificazione, consulta la procedura di revisione della categoria di Meta.
131049è una sospensione della consegna, non una limitazione delle richieste che hai configurato, e riprovare peggiora la situazione. Meta segnala131049sia per la sua sospensione generale negli Stati Uniti sia per un limite di marketing per singolo utente, e le sue indicazioni prevedono di attendere circa un giorno prima di inviare di nuovo. Un nuovo invio anticipato può rendere l'account non disponibile per quel destinatario più a lungo e altera il tuo tasso di consegna. Bird segnala l'errore comerate_limited.131050indica che il destinatario ha disattivato "Offers and announcements" e non va mai ritentato. Meta accetta l'invio e poi rifiuta di consegnarlo. La risposta corretta passa dalle preferenze di messaggistica, non da un nuovo invio: sopprimi tu stesso il destinatario, oppure attendi che riattivi la consegna, cosa che Bird apprende tramite lo stesso meccanismo di preferenze che ha segnalato l'interruzione. Consulta Preferenze.132015e132016indicano la sospensione del template, non un problema del destinatario.132015è una sospensione per bassa qualità;132016è la disattivazione permanente dopo sospensioni ripetute, e l'unico rimedio è un nuovo template con contenuto diverso. Controlla lo stato della singola lingua anziché quello del template, perché una lingua sospesa smette subito di inviare.- Un mittente sul WhatsApp Business Account sbagliato viene rifiutato prima di qualsiasi addebito.
fromdeve trovarsi sullo stesso account del template, altrimenti l'invio non riesce422E15023WhatsAppSenderWABAMismatch.
Passaggi successivi
- Template WhatsApp: consultare il catalogo e il contratto comune per l'invio tramite template
- Template di marketing: API Marketing Messages, stato di onboarding e Paesi in cui il marketing è limitato
- Preferenze: registrare e leggere le dichiarazioni dei destinatari
- Template di utilità: aggiornamenti sugli ordini, promemoria degli appuntamenti e avvisi sull'account
Risorse correlate
Continua con la documentazione, le guide e gli esempi per questo argomento.