Warum zeigt Meta Web-to-App Klicks, aber keine AppsFlyer-Installs?

Ich bin Samet Durgun, Fractional Head of UA. Ich verantworte Paid UA für Subscription-Apps und Mobile Games und schreibe hier auf, was ich in meinen Accounts sehe. Dieser Beitrag gehört zum Thema Signal Engineering; mehr über mich.

Wenn Meta Link-Klicks zeigt und AppsFlyer keine Installs, sind die Installs entweder unter einem anderen Label da, oder der Datensatz ist an einer Stufe zwischen Anzeige und App abgerissen. AppsFlyer weist Meta-Web-to-App-Installs unter Facebook Ads aus, nicht unter metaweb_int. Die erste Prüfung ist also, ob Sie das richtige Label lesen. Die zweite ist, einen einzelnen Testklick durch jede Stufe zu verfolgen, bis ein Datensatz fehlt. Auf iOS ändert eine Einstellung, was Meta erhält, während AppsFlyers aggregierte Reports gleich bleiben: Ist AppsFlyers Advanced Privacy eingeschaltet, tragen Postbacks für Nutzer, die keine ATT-Erlaubnis erteilt haben, weder Click-ID noch Gerätekennungen. Ein Testtelefon, das die Erlaubnis erteilt hat, kann den Test bestehen, während den Postbacks für alle anderen die Click-ID fehlt, mit der Meta den Klick identifiziert.

Umfang: Meta-Anzeigen mit der Conversion Location Website, gemessen über AppsFlyers Integration Meta Web (metaweb_int), für eine App, die aus dem App Store oder von Google Play installiert wird, mit Trial- und Kauf-Events, die das AppsFlyer SDK oder RevenueCat sendet. Ich habe jede Plattformangabe am 1. Oktober 2026 mit der eigenen Seite des jeweiligen Anbieters abgeglichen. Web-Kampagnen, die auf der Website selbst konvertieren, nutzen einen anderen AppsFlyer-Leitfaden und liegen außerhalb dieses Beitrags. Das gilt auch für App-Promotion-Kampagnen von Meta. Wenn ein Event Meta dort erreicht und sich trotzdem nicht als Optimierungsziel wählen lässt, steht die Antwort in Warum sind Trial- und Kauf-Events für Meta AEM nicht berechtigt?

Was kann “Klicks, aber keine Installs” bedeuten?

Eines von drei Dingen, und jedes braucht eine andere Lösung.

  1. Ein Label, keine Lücke. AppsFlyers Leitfaden Meta Ads: Create web-based campaigns (zuletzt bearbeitet am 15. September 2026) sagt, dass Web-to-App-Installs in Dashboards und Rohdaten “under the Facebook Ads PID” ausgewiesen werden. In den Rohdaten behält das Feld original_url den Wert pid=metaweb_int, und Postback-Reports zeigen metaweb_int als die Media Source, an die der Postback ging.
  2. Zwei verschiedene Klicks. Meta zählt den Klick auf die Anzeige. Bei AppsFlyer mit Landingpage registriert sich der Klick erst, wenn der Nutzer auf Ihrer Seite den Call to Action antippt. Besucher, die gehen, ohne zu tippen, sind nur eine Impression, und die zählt nur dann für einen Install, wenn Sie die View-Through-Attribution von AppsFlyer einschalten (Lookback bis zu 24 Stunden).
  3. Ein echter Bruch. Die Click-ID hat den Store-Link nie erreicht, der Install ließ sich nicht zuordnen, oder das nachgelagerte Event hat Meta nie erreicht.

Der Test unten zeigt, welcher Fall vorliegt.

Wie verfolgen Sie einen Testklick durch jede Stufe?

Ich prüfe zuerst einen Pfad von Anfang bis Ende, bevor ich aggregierte Zahlen lese.

Bauen Sie den Test so auf, dass ein fehlender Datensatz nur an der Einrichtung liegen kann:

  • Registrieren Sie das Telefon als Testgerät. AppsFlyers Registering test devices (zuletzt bearbeitet am 28. August 2026) sagt, dass das Reattributionsfenster Install-Attributionen auf eine pro 90 Tage begrenzt. Wiederholte Test-Installs auf demselben Telefon zeichnen also nichts auf, solange es nicht registriert ist. Ein iPhone, das Tracking erlaubt, registrieren Sie laut AppsFlyer per IDFA.
  • Erteilen Sie auf dem Testtelefon die ATT-Erlaubnis. Nutzen Sie das Telefon eines Teammitglieds, tippen Sie im ATT-Prompt Ihrer App auf Allow und akzeptieren Sie das Consent-Banner, falls die Landingpage eines zeigt. Laut AppsFlyers Apply Aggregated Advanced Privacy framework (zuletzt bearbeitet am 11. Juni 2026) erhalten bei Web-Traffic zu einer App, deren Nutzer ATT autorisiert hat, sowohl Sie als auch das Werbenetzwerk User-Level-Attributionsdaten. Advanced Privacy begrenzt also nicht, was dieser Test zeigt.
  • Klicken Sie die Anzeige so an, wie es ein Nutzer täte. Auf dem Telefon, in Facebook oder Instagram, nicht aus einer Desktop-Vorschau. Öffnet sich die Seite in Safari, nutzen Sie kein Private Browsing: AppsFlyers Bulletin zu Link tracking Privacy (LTP) von 2023 sagt, dass iOS 17 in diesem Modus fbclid entfernt.
  • Notieren Sie die Uhrzeit jedes Schritts, damit Sie die Zeilen später finden.

Gehen Sie die Stufen dann der Reihe nach durch und halten Sie bei der ersten an, die fehlschlägt.

Stufe Was vorhanden sein sollte Wo Sie nachsehen Wenn es fehlt Als Nächstes öffnen Beobachtetes Ergebnis
1. Ziel der Anzeige Die URL der Landingpage oder der Attributionslink, mit pid=metaweb_int, c, af_c_id und den anderen gemappten Parametern Anzeigenvorschau im Ads Manager, dann die URL, die das Telefon tatsächlich öffnet Die URL-Parameter wurden an der Anzeige nicht angelegt Stufe 2, sobald die URL stimmt URL wie geöffnet, Uhrzeit
2. Tracking-Klick fbclid in der URL der Landingpage und dieselbe fbclid im ausgehenden Store-Link URL der Landingpage und Link des Call to Action auf dem Telefon; Klick-Rohdaten gibt es nur im Data Locker Das Skript leitet die Parameter nicht weiter, oder der Nutzer hat nie auf den Call to Action getippt Smart-Script-Version und Parameter-Mapping fbclid auf beiden Links gesehen, ja oder nein
3. Erster Start Ein Install für das Testgerät AppsFlyer-Rohdaten, Installs, gefiltert nach Install-Zeit Das SDK ist nicht gestartet, oder das Gerät war nicht registriert und der Install zählte als Reinstall SDK-Integration und Liste der Testgeräte Zeile gefunden, Uhrzeit
4. Attribuierter Install Dieser Install mit der Media Source Facebook Ads und metaweb_int in original_url Dieselbe Rohdatenzeile Der Install wurde als organisch erfasst: Der Klick ließ sich dem Install nicht zuordnen Erneut Stufe 2, dann die Datenschutzeinstellungen Media Source, original_url
5. Trial Das Trial-Event beim selben Nutzer Rohdaten der In-App-Events in AppsFlyer; Customer History in RevenueCat, falls es das Event sendet Das Event wurde nie gesendet, oder RevenueCat hat es nicht gesendet, weil das Attribut $appsflyerId nicht gesetzt war Event-Mapping, Kundenattribute in RevenueCat Eventname, Uhrzeit
6. Bezahlte Transaktion Das Kauf-Event mit Umsatz und Währung Dieselben Reports; für Sandbox-Käufe braucht RevenueCat einen AppsFlyer-Key in seinem Feld Sandbox developer key Der Umsatz wurde nicht gesendet, oder er wird doppelt gesendet Wer den Umsatz sendet (siehe unten) Umsatz, Währung, Anzahl
7. Event-Zustellung an den Partner Postbacks an metaweb_int für den Install und die gemappten Events, und die Events in Meta Postback-Report in AppsFlyer, mit von Hand ergänztem metaweb_int; Events Manager für dasselbe Pixel Postback nicht gemappt, Kauf nicht so eingestellt, dass er den Umsatz enthält, oder falsches Pixel Seite der Integration Meta Web in AppsFlyer Postback-Status, Event im Events Manager

AppsFlyers Raw data reporting overview (zuletzt bearbeitet am 11. August 2026) führt Klick-Rohdaten als Report auf, den es nur im Data Locker gibt. Ohne Data Locker prüfen Sie Stufe 2 also an den Links selbst. AppsFlyers Raw data export page (zuletzt bearbeitet am 13. August 2026) sagt, dass Web-PIDs wie metaweb_int im Dropdown für die Media Source nicht erscheinen; um Web-Postbacks zu sehen, tragen Sie die PID von Hand ein. Die Seite zur AppsFlyer-Integration von RevenueCat vermerkt, dass AppsFlyers Ansicht In-App-Events nach dem Install-Datum des Nutzers zeigt. Ein Kauf von heute durch einen Nutzer, der letzte Woche installiert hat, liegt also im Zeitraum der letzten Woche.

AppsFlyers Leitfaden benennt die Optionen nach Ziel:

  • Landingpage: eine Seite mit OneLink Smart Script oder einem Smart Banner. AppsFlyer empfiehlt das, wenn die App auf mehreren Plattformen verfügbar ist oder wenn die Seite das Produkt erklären oder Daten erheben soll. Das Smart Banner erzeugt nur OneLink-Links; Smart Script kann auch Einzelplattform-Links für andere Stores erzeugen.
  • Direkt in den Store: ein Attributionslink von AppsFlyer, als OneLink, für eine einzelne Plattform oder plattformübergreifend. AppsFlyer fügt eine Warnung hinzu: “Sometimes, the use of AF attribution links may lead to errors”. Als Lösung schlägt es vor, Meta zu fragen oder stattdessen eine Landingpage zu nutzen.

Im Ads Manager nutzt die Kampagne die Conversion Location Website mit derselben Pixel-ID, die Sie in AppsFlyer eingetragen haben. Im Abschnitt Tracking sollen Sie laut AppsFlyer nicht App Events wählen, “otherwise Meta will claim those conversions using the SRN API”. Zeigt AppsFlyer für die Web-Kampagne überhaupt keine Klicks, Impressionen oder Kosten, braucht der Link laut seinem Leitfaden af_c_id, und der Ad-Account muss in der Integration Facebook Ads verbunden sein.

Was muss mit fbclid passieren?

Meta hängt fbclid an, und AppsFlyer reicht den Wert weiter. Metas Entwicklerseite ClickID and the fbp and fbc Parameters beschreibt die Click-ID als von Meta erzeugten Parameter, der mit der URL übergeben wird, wenn jemand auf eine Anzeige klickt, und warnt, dass beim Wert die Groß- und Kleinschreibung zählt. AppsFlyer sagt, dass Meta fbclid automatisch an die Ziel-URL anhängt.

Für eine Landingpage sagt AppsFlyers Set up Smart Script to convert web visitors (zuletzt bearbeitet am 2. September 2026), dass Smart Script fbclid ab Version 2.8.1 von selbst an die ausgehende URL weitergibt. Bei Version 2.8.0 und niedriger sollen Sie den Wert laut dem Leitfaden zu Meta Web von Hand mappen. Um den Wert in den Rohdaten zu sehen, mappen Sie ihn zusätzlich auf einen der Parameter af_sub1 bis af_sub5. Der Leitfaden zu Meta Web nennt fbclid unverzichtbar für den Versand von In-App-Event-Postbacks an Meta, weshalb Stufe 2 in der Tabelle den Wert auf beiden Links prüft.

Warum erscheinen Installs unter Facebook Ads und nicht unter metaweb_int?

Das ist so gewollt. Der Leitfaden zu Meta Web sagt, dass Events unter metaweb_int an Meta gehen, aber in den Dashboards Overview und Activity sowie im Feld media_source der Rohdaten und API-Reports unter Facebook Ads erscheinen. Um Web- von App-Kampagnen zu trennen, schlägt AppsFlyer ein Web-Präfix oder Web-Suffix im Kampagnennamen vor; um einen einzelnen Install zu bestätigen, lesen Sie seine original_url.

Was ändert der Schritt zu Advanced Privacy, und wer entscheidet darüber?

AppsFlyers Leitfaden zu Meta Web enthält als Setup-Schritt “Turn off Advanced Privacy (if you are setting an iOS app integration).” Sein Artikel zu Aggregated Advanced Privacy erklärt, was die Einstellung bewirkt. Ist sie eingeschaltet, erhalten Partner für Nutzer von iOS 14.5 und neuer, die keine ATT-Erlaubnis erteilt haben, nur aggregierte Kampagnendetails. Zu den User-Level-Daten, die sie nicht erhalten, gehören AppsFlyer ID, Customer User ID, Click-ID, IDFA, IDFV, User Agent und IP-Adresse. Der Leitfaden zu Meta Web sagt, dass Meta fbclid nutzt, um den konkreten Klick zu identifizieren. Ein Postback ohne fbclid verliert also diese Verbindung. Der Artikel zu Aggregated Advanced Privacy sagt außerdem, dass ein Werbenetzwerk ohne Advanced-Privacy-Integration für Nutzer, die nicht eingewilligt haben, überhaupt keinen Postback erhält, und dass sich der Schalter eines Partners erst ausschalten lässt, wenn Aggregated Advanced Privacy auf App-Ebene ausgeschaltet ist.

Ich behandle das nicht als Schalter, den man bei der Fehlersuche umlegt. AppsFlyer selbst sagt, dass Sie sich mit Ihren Rechts- und anderen Fachberatern damit befassen sollen, wie Apple Tracking definiert, bevor Sie das Framework ausschalten. Apples Seite User Privacy and Data Use sagt, dass Sie für Tracking die ATT-Erlaubnis brauchen, und “you may not derive data from a device for the purpose of uniquely identifying it”, unabhängig von Ihren Einstellungen. AppsFlyer ergänzt, dass User-Level-Daten auch bei ausgeschaltetem Framework nicht genutzt werden dürfen, um ein Gerät eindeutig zu identifizieren. Der App-Inhaber entscheidet mit der Datenschutzberatung, und der Measurement-Plan folgt dieser Entscheidung. Mit dem Testtelefon von oben, auf dem die ATT-Erlaubnis erteilt ist, können Sie das Setup prüfen, ohne die Einstellung anzufassen.

Sind die Postbacks an Meta so eingerichtet, wie AppsFlyer es dokumentiert?

Der Install-Postback ist automatisch; alles andere wird von Hand gemappt. Aus AppsFlyers Leitfaden zu Meta Web:

  • Die Integration braucht die Pixel-ID und ein Access Token, und der Partnerschalter muss eingeschaltet bleiben.
  • Installs sind der einzige automatische Standard-Postback. Trial und Kauf brauchen ein Mapping auf ein Meta-Event oder auf CUSTOM.
  • Ein Kauf-Postback muss “Values and revenue” enthalten. Jede andere Auswahl lässt den Postback fehlschlagen.
  • “This partner only” sendet Events, die Meta zugeschrieben sind; “All media sources, including organic” sendet auch Events, die anderen Partnern und Organic zugeschrieben sind. Es ist eine Postback-Einstellung: Sie ändert, was Meta erhält, nicht, ob AppsFlyer einen Install Meta zuschreibt.
  • Events, die per Server-to-Server an metaweb_int gesendet werden, müssen ua und ip tragen. Das SDK fügt sie hinzu; Ihr Server muss es selbst tun.
  • Postbacks für das, was AppsFlyer “re-engagement” nennt, werden in dieser Integration nicht unterstützt.

Bei Meta sagt die Entwicklerseite Using the API, dass sich Events innerhalb von 20 Minuten nach dem Versand im Events Manager verifizieren lassen, wo die Datenquelle rohe, gematchte und attribuierte Events zeigt.

Kann SKAdNetwork diese Installs sehen?

Nicht bei einer Anzeige, die in der Facebook- oder Instagram-App geklickt wird. Apples Signing and providing ads führt attribuierbare Web-Anzeigen auf, “where the ad network presents an ad on a Safari web page”, ab SKAdNetwork 4. Googles Understanding iOS App campaign measurement and reporting beschreibt Web-to-App-Observability “only on Safari browsers” und sagt, dass Chrome und Firefox von SKAdNetwork nicht unterstützt werden. Eine Anzeige in der Facebook- oder Instagram-App liegt nicht auf einer Safari-Webseite, und AppsFlyers Leitfaden zu Meta Web erwähnt SKAdNetwork nicht. Rechnen Sie nicht damit, dass SKAN hier einen fehlenden Install erklärt.

Was, wenn RevenueCat den Trial und den Kauf sendet?

Dann sollte nur ein System Umsatz an AppsFlyer senden. Die AppsFlyer-Seite von RevenueCat sagt “remove all client-side tracking of revenue”, weil das zusätzliche Tracking von Käufen mit dem AppsFlyer SDK “can lead to double counting of revenue”. Sie führt außerdem das Attribut $appsflyerId als erforderlich auf, sagt, dass RevenueCat Events nur dann an AppsFlyer sendet, wenn die erforderlichen Attribute gesetzt sind, und warnt, dass ohne die AppsFlyer ID womöglich einige Events nicht zugestellt werden, was sich als fehlende Stufe 5 oder 6 zeigt.

Bei Käufen im Web über Stripe, Paddle oder RevenueCat Billing schickt RevenueCat jeden Kauf an eine AppsFlyer API, standardmäßig Mobile S2S oder wahlweise Web S2S, je nach Einstellung für das Event-Routing der Web-Stores. Die Seite sagt “a purchase is never sent through both APIs”. Erscheint ein Web-Kauf trotzdem doppelt, suchen Sie nach Kauf-Tracking, das in der App noch läuft, oder nach einem anderen Absender außerhalb von RevenueCat. Die Seite sagt außerdem, dass AppsFlyer plant, People-Based Attribution bis Ende 2026 einzustellen. Das ist ein erklärter Plan, keine Änderung, die schon eingetreten ist. Wie ich Meta, RevenueCat und einen MMP vergleiche, wenn ihre Zahlen nicht übereinstimmen, steht in Meta vs RevenueCat vs Adjust: welcher Zahl vertrauen Sie?

Was sollten Sie aus einem einzelnen Test nicht schließen?

Ein bestandener Test beweist, dass der Pfad für einen Nutzer funktioniert, der auf einem Telefon die ATT-Erlaubnis erteilt hat, nicht die Match-Rate für alle anderen. Ein fehlgeschlagener Test zeigt nicht, welche Einstellung schuld ist, bis Sie eine Sache ändern und ihn erneut durchführen. Keine Anbieterseite, die ich geprüft habe, dokumentiert eine einzelne Einstellung als Lösung für fehlende Web-to-App-Installs, und mehrere Änderungen auf einmal verdecken, welche gewirkt hat. Notieren Sie jedes Mal die Stufe, die Änderung und das neue beobachtete Ergebnis.

Wie hängt das mit signal engineering zusammen?

Diese Nachverfolgung gehört zu signal engineering: Das Event, auf das die Werbeplattform optimiert, soll dasselbe sein, das auch das Geschäft zählt, und es muss ankommen. Wenn Sie nicht sicher sind, ob das Measurement der Grund ist, warum eine Meta-Web-Kampagne schwach aussieht, prüfe ich das im growth audit. Den können Sie auch einzeln buchen. Die Google-Seite von Web-to-App, wo Click-IDs und Conversion-Uploads anders funktionieren, steht in Warum zeigt Google Web-to-App in AppsFlyer keine Conversions? Warum ein Team Traffic aus Google Search auf diesem Weg zu einer App schicken würde, steht in Funktionieren Google Search Ads für App-Installs?

Quellen

Alle am 1. Oktober 2026 geprüft.

Häufige Fragen

Warum sehe ich meine Web-to-App-Installs von Meta in AppsFlyer nicht unter metaweb_int?

Weil AppsFlyer sie unter Facebook Ads ausweist. Sein Leitfaden zu Meta-Web-Kampagnen sagt, dass Web-to-App-Attributionen in den Dashboards Overview und Activity und im Rohdatenfeld media_source unter Facebook Ads erscheinen, während das Feld original_url pid=metaweb_int behält und Postback-Reports metaweb_int zeigen. Ein Dashboard, das auf metaweb_int gefiltert ist, kann leer aussehen, obwohl die Installs da sind.

Sollte eine Meta-Web-to-App-Anzeige auf eine Landingpage oder direkt in den App Store führen?

AppsFlyer unterstützt beides. Es empfiehlt eine Landingpage mit Smart Script oder Smart Banner, wenn die App auf mehreren Plattformen verfügbar ist oder wenn die Seite das Produkt erklären oder Daten erheben soll, und Attributionslinks (OneLink, für eine einzelne Plattform oder plattformübergreifend), um Nutzer direkt in den Store zu schicken. Es warnt außerdem, dass Attributionslinks zu Fehlern führen können, und nennt eine Landingpage als Ausweichlösung.

Muss ich Advanced Privacy für Meta-Web-Kampagnen auf iOS ausschalten?

AppsFlyers Setup-Schritt sieht vor, es für eine iOS-App-Integration auszuschalten. Ist es eingeschaltet, hält AppsFlyer gegenüber Partnern User-Level-Daten wie Click-ID, IDFV, User Agent und IP-Adresse zurück, für Nutzer von iOS 14.5 und neuer, die keine ATT-Erlaubnis erteilt haben. Ob Sie das ändern, ist eine Datenschutz- und Rechtsentscheidung des App-Inhabers, kein Schritt zur Fehlersuche, und Apple verbietet so oder so, Gerätedaten abzuleiten, um ein Gerät zu identifizieren.

Kann SKAdNetwork Installs aus Meta-Web-Anzeigen messen?

Nur in einem engen Fall. Apple dokumentiert attribuierbare Web-Anzeigen für Anzeigen, die ein Werbenetzwerk signiert und auf einer Safari-Webseite zeigt, ab SKAdNetwork 4. Googles Seite zum iOS-Measurement sagt, dass Chrome und Firefox von SKAdNetwork nicht unterstützt werden. AppsFlyers Leitfaden zu Meta Web erwähnt SKAdNetwork nicht, rechnen Sie also nicht damit, dass es die Lücke füllt.

Warum erscheint ein Web-to-App-Kauf im AppsFlyer-Umsatz doppelt?

Prüfen Sie, ob es einen zweiten Absender gibt. RevenueCat sagt, dass Sie jedes clientseitige Umsatz-Tracking entfernen sollen, wenn seine AppsFlyer-Integration eingeschaltet ist, weil das zusätzliche Tracking von Käufen mit dem AppsFlyer SDK den Umsatz doppelt zählen kann. Für Käufe im Web-Store sagt es, dass ein Kauf nie über beide seiner AppsFlyer APIs gesendet wird. Suchen Sie also nach Kauf-Tracking, das in der App noch läuft, oder nach einem anderen Absender außerhalb von RevenueCat.