This is a tricky problem, Ken, and it sounds like you’re running into the classic challenge of bridging the gap between a web environment and a true native mobile app, especially when using a wrapper like the BDK Native App.
You are right to suspect that tracking users after the download is the core issue.
The BDK Native App essentially wraps your Bubble web app in a native container, which means standard web-based conversion tracking (like firing simple JavaScript on a workflow for a purchase) often breaks down or fails to accurately attribute to the Google Ads campaign that drove the initial app store download.
The user’s device and the app store act as a major hurdle.
A robust solution involves treating the BDK-wrapped app more like a native app for tracking purposes, rather than a website.
The best approach is to use the Bubble API (which the BDK Native App leverages for communication) in conjunction with Google Analytics for Firebase, and an MMP (Mobile Measurement Partner) like Adjust, AppsFlyer, or Kochava.
Google Analytics for Firebase is designed specifically for cross-platform app analytics and integrates deeply with Google Ads.
It allows you to log events like purchase, subscribe, add_to_cart, or begin_checkout which are known as Standard Events.
Here’s the flow: when a user completes a purchase in your BDK app, you use a Bubble API workflow to send the purchase event not to a standard Google Ads conversion tag, but to Google Analytics for Firebase.
This requires setting up the Firebase SDK in your app (often done via BDK or a custom plugin) and ensuring the event data includes the necessary parameters, like value.
Firebase then automatically shares these Standard Events with the linked Google Ads account, enabling you to optimize for actual purchases or subscriptions, even for App Campaigns.
An MMP adds a crucial layer by handling the complex task of attribution – figuring out which ad (Google, Facebook, etc.) led to the initial download, and then connecting that install to the post-install purchase event logged by Firebase.
Without an MMP or a similar server-side method, you’ll always struggle with the connection between the initial click/download and the final purchase event.
For implementation, consider using a server-side solution like Google Tag Manager Server Side or a service like Stape to manage the data flow from your Bubble API to Firebase, as it provides a more reliable and secure way to handle conversion data outside of the user’s browser/app instance.
If you can get the Firebase events logging correctly, you’ve solved 90 percent of the problem.