Attribution · Published 2025-11-11 · 2 min read
Sending events in FinTech apps
In fintech, ad campaigns are rarely optimised for the install. The main goal is an approved user: someone who has passed KYC and verification and received a loan or a card. For the network to learn on that, the chain of events has to be built properly.
The scenario
- The user fills in a form in the app
- The application goes to the server
- The user is approved
- The fact of approval is sent to the ad network
The campaign is then optimised not merely for registrations but for genuine approvals.
What is special about fintech
Unlike most iOS apps, fintech has a backend that handles KYC and identity checks, and the issuing of the loan or card. So an extra step appears: sending events from the backend to the ad network, server to server.
The sequence
- Meta or Google Ads passes the fbclid or gclid to AppsFlyer
- The AppsFlyer SDK in the app receives the appsflyer_id and passes it, together with the form data, to the backend
- When the user passes the checks, the backend sends a verification_event plus the appsflyer_id to AppsFlyer
- AppsFlyer sends that event on to the ad network
- The network learns on verification_complete
As a result the campaign is optimised for approved users.
Technical details. Google Ads
- It does not accept uncertified tracking links, so you need AppsFlyer or Adjust
- For UAC you can use Firebase or GA, but some events may be lost
Meta
- You can work without AppsFlyer, but you will have to build your own probabilistic tracking through a pre-lander
- The error "Events have different Install ID parameters" can appear with AEM
Fixes
- Move to a Web2App campaign
- Send events in the format that actually works rather than the documented one — the way Apphud does, for instance
Optimising the campaigns
The install and the verification are often far apart in time, so it is easy to lose the conversion.
The attribution window, put simply, is the period — 7 to 90 days — during which a conversion still counts after the click.
Meta: the maximum window is 7 days. If the check takes longer, the event will not be counted.
The fix is to use a proxy event, for example "the user did not cancel the application within 7 days" or "the user passed the automatic basic check".
Google Ads is more flexible — up to 90 days. But a proxy event helps there too, by letting you judge the traffic sooner.
In short
A correct integration lets you run ad campaigns far more effectively.