Begrijp de levering van pushmeldingen
Meer informatie over de levering van pushmeldingen, waaronder hoe deze worden geleverd en waarom dit kan mislukken.
Bezorgen van pushmeldingen
Levering van een pushmelding verwijst naar het moment waarop een pushmelding succesvol wordt afgeleverd op het apparaat van een ontvanger.
Een profiel kan meer dan 1 pushtoken hebben als ze je mobiele app op meerdere apparaten hebben geïnstalleerd. Pushmeldingen worden geprobeerd te verzenden naar alle apparaten met een token dat op het profiel is opgeslagen.
Het concept van bezorgbaarheid is niet van toepassing op pushmelding(en) zoals bij e-mail, omdat er geen sortering plaatsvindt zodra het apparaat van de ontvanger de melding met succes ontvangt.
Wanneer je een pushmelding verzendt via een campagne of flow, controleert Klaviyo de pushmelding en verzendt deze vervolgens naar Apple Push Notification Service (APN's) voor iOS, of naar Androids pushmeldingsservice, Firebase Cloud Messaging (FCM), om te bezorgen op het apparaat van de ontvanger. Het kan zijn dat je ziet dat sommige pushmeldingen worden overgeslagen als er een probleem is met de bezorging.
APN's en FCM accepteren de melding en proberen die af te leveren op het apparaat van de ontvanger, of weigeren de melding met een reeks mogelijke fouten.
Klaviyo heeft alleen inzichten in of deze services de melding accepteren of afwijzen. Klaviyo kan niet bevestigen of de melding faalt nadat APN's of FCM de push heeft geaccepteerd.
Wil je een functie aanvragen voor Klaviyo pushmeldingen? Vul dit Google-formulier in om ons er meer over te vertellen!
Redenen voor afwijzing
Als Klaviyo na het verzenden van een melding een foutreactie ontvangt van APN's of FCM, wordt er voor elk token dat is getroffen door de mislukte levering een gebeurtenis met de naam Bounced push aangemaakt. Dit verschijnt in de activiteitenfeed van het ontvangende profiel, samen met de ontvangersactiviteit voor de betreffende flow of campagne waaruit de melding is verzonden.
De gebeurtenis Bounced push bevat metadata die de foutcode (bijv. ExpiredToken) toont die door APN's of Firebase wordt geretourneerd. Als je bezorgproblemen ziet, werk dan met je app-ontwikkelaar samen om de fout op te lossen op basis van de beschrijving in de gebeurtenis.
Als je de metadata voor een gebeurtenis wilt bekijken, klik je op Activiteitsdetails voor de gebeurtenis in het activiteitenlogboek van het profiel.
Stille push
Je kunt het bezorgpercentage en bouncepercentage zien voor individuele stille pushmeldingen; stille pushmeldingen worden echter uitgesloten van alle geaggregeerde prestatierapportage in Klaviyo. Dit omvat dingen zoals Mobile Push-openingspercentage in de loop van de tijd, omdat ze geen opens of conversie hebben.
Let op: je ziet andere events voor silent push dan voor standard push, namelijk Received Silent Push en Bounced Silent Push.
Als je problemen hebt met het leveren van stille pushmeldingen op iOS, houd er dan rekening mee dat iOS de levering van stille pushmeldingen niet garandeert. Het kan zijn dat ze niet worden geleverd op basis van de huidige status van het apparaat, zoals batterijniveau en netwerkverbinding.
iOS
Voor iOS-pushmeldingen die via APN's worden verzonden, kunnen afwijzingen optreden om minstens een van de redenen die worden vermeld in Apple’s referentie voor het afhandelen van meldingsreacties van APN's.
Statuscode | Fouttekenreeks voor APN's | Beschrijving van APN's |
400 | BadDeviceToken | Het opgegeven apparaattoken was ongeldig. Controleer of de aanvraag een geldig token bevat en of het token overeenkomt met de omgeving. |
400 | BadTopic | De apns-topic-waarde is ongeldig. |
400 | DeviceTokenNotForTopic | Het apparaattoken komt niet overeen met het opgegeven onderwerp. |
400 | HeadersDupliceren | Een of meer headers zijn herhaald. |
400 | Inactieve time-out | Time-out bij inactiviteit. |
400 | OngeldigPushType | De waarde APN's-push-type is ongeldig. |
400 | PayloadEmpty | De berichtpayload was leeg. |
403 | OngeldigCertificaat | Het certificaat was slecht. |
403 | BadCertificateEnvironment | Het clientcertificaat was voor de verkeerde omgeving. |
403 | InvalidProviderToken | Het providertoken is ongeldig of de handtekening van het token kon niet worden geverifieerd. |
404 | Ongeldig pad | Het verzoek bevatte een onjuiste :path-waarde. |
405 | MethodNotAllowed | De opgegeven :method was geen POST. |
410 | VerlopenToken | De apparaattoken is verlopen. |
410 | Niet-geregistreerd | Het apparaattoken is inactive voor het opgegeven onderwerp. |
429 | Te veel updates van providertokens | Het providertoken wordt te vaak bijgewerkt. |
500 | Interne serverfout | Er is een interne serverfout opgetreden. |
503 | ServiceUnavailable | De service is niet beschikbaar. |
Android
Bij pushmeldingen voor Android die via FCM worden verzonden, kunnen er afwijzingen optreden om minstens één van de redenen die worden vermeld in de referentie van Google voor FCM-foutcodes.
Statuscode | FCM-foutstring | FCM-beschrijving |
400 | INVALID_ARGUMENT | Controleer de indeling van het registratietoken dat je aan de server doorgeeft. Zorg ervoor dat dit overeenkomt met het registratietoken dat de client-app ontvangt door zich te registreren bij Firebase Notifications. Kort de tekst niet in en voeg geen extra tekens toe. |
400 | INVALID_ARGUMENT | Zorg ervoor dat het bericht is geadresseerd aan een registratietoken waarvan de pakketnaam overeenkomt met de waarde die in de aanvraag is doorgegeven. |
400 | INVALID_ARGUMENT | Controleer of de totale grootte van de payloadgegevens die in een bericht zijn opgenomen de FCM-limieten niet overschrijdt: 4096 bytes voor de meeste berichten of 2048 bytes in het geval van berichten naar topics. Dit omvat zowel de sleutels als de waarden. |
400 | INVALID_ARGUMENT | Controleer of de payloadgegevens geen sleutel bevatten (zoals from of gcm, of een waarde met het voorvoegsel google) die intern door FCM wordt gebruikt. Let op: sommige woorden (zoals collapse_key) worden ook door FCM gebruikt, maar zijn toegestaan in de payload. In dat geval wordt de payloadwaarde overschreven door de FCM-waarde. |
400 | INVALID_ARGUMENT | Controleer of de waarde die in ttl wordt gebruikt een geheel getal is dat een duur in seconden tussen 0 en 2.419.200 (4 weken) vertegenwoordigt. |
400 | INVALID_ARGUMENT | Controleer of de opgegeven parameters de juiste naam en het juiste type hebben. |
403 | SENDER_ID_MISMATCH | De geverifieerde afzender-ID is anders dan de afzender-ID voor het registratietoken. |
404 | ONGEREGISTREERD | App-instantie is afgemeld bij FCM. Dit betekent meestal dat de gebruikte token niet langer geldig is en dat je een nieuwe moet gebruiken. |
429 | QUOTA_EXCEEDED | Verzendlimiet overschreden voor het berichtdoel. Er wordt een extensie van het type google.rpc.QuotaFailure geretourneerd om aan te geven welk quotum is overschreden. |
500 | INTERN | Er is een onbekende interne fout opgetreden. |
503 | Niet beschikbaar | De server is overbelast. |
Je ziet ook een Teruggestuurde pushmelding -gebeurtenis als de ontvanger ontbreekt of een ongeldige pushtoken heeft.
Best practices
Toestemming van gebruikers verzamelen
Om een standaard pushmelding naar een profiel te sturen, moet je eerst hun uitdrukkelijke toestemming verzamelen.
Om toestemming voor pushmeldingen te verzamelen, moet je klanten tijdens hun eerste interactie met je mobiele app een prompt voor het machtigingsscherm tonen.
Het is best practice dat je prompt voor het toestemmingsscherm instemmingstekst bevat die de volgende informatie geeft en mensen de mogelijkheid biedt om zich aan te melden of af te melden:
- Welke soorten meldingen je merk verstuurt
Voeg details toe over de verschillende pushmeldingen die je merk van plan is te sturen (bijvoorbeeld wijzigingen in een account, wijzigingen in een account, herinneringen en speciale kortingen). - Waarom gebruikers zich moeten aanmelden
Voeg informatie toe over waarom een klant toestemming zou moeten geven (bijvoorbeeld om belangrijke updates of vroegtijdige toegang tot aanbiedingen te ontvangen).
Meer informatie over het verzamelen van toestemming voor pushmeldingen.
Stuur relevante meldingen
Bij het versturen van pushmeldingcampagnes is het belangrijk om Klaviyo’s segmentatie te gebruiken om content te sturen die gepersonaliseerd en relevant is voor je abonnees.
Als je bijvoorbeeld weet dat je een segment hebt met toegewijde terugkerende klanten, kun je pushmeldingen gebruiken om ze vóór iedereen anders te waarschuwen voor nieuwe deals of promoties.
Door ervoor te zorgen dat de content die je naar klanten stuurt relevant is voor hun interesses en voorkeuren, kun je de kans verkleinen dat klanten zich afmelden en je vermogen maximaliseren om je klanten te bereiken met pushmeldingen.
Prestaties monitoren en analyseren
Het is essentieel om je pushmeldingprestaties met Klaviyo voortdurend te monitoren, zodat je snel bezorgproblemen en dalingen in belangrijke push-meetwaarden kunt identificeren.
De beste manier om dat te doen, is door de volgende pushmeldinggebeurtenissen te monitoren:
- Push ontvangen
- Geopende push
- Gebouncete pushmelding
Je kunt in Klaviyo een rapport met meerdere meetwaarden instellen om te volgen hoe je prestaties met deze events in de loop van de tijd veranderen.