← Jobs

Implement Attribution Tracking Between Website Download Clicks and Electron App onboarding.

Budget: $120.0 - $200.0 HOURLY / AS_NEEDED ⭐ 0.00 (0) United States

web-application, web-programming, app-development, product-management, frontend-development, python, react-js, node.js, postgresql, laravel-framework, wordpress, mysql, mobile-app-development, ios-development

# Implement Probabilistic Attribution Between Marketing Website and Electron Desktop App We have a marketing website where users can click to download our Mac desktop app. The app is distributed as a standard Mac DMG and built with Electron. We use PostHog for product analytics, and we also run Google Ads. Users may eventually sign in inside the desktop app through ChatGPT/auth, but many users will first be anonymous. We want to implement a simple first version of attribution that helps us understand which website visitors / ad campaigns / download clicks later become desktop app users. ## Goal Build a lightweight probabilistic matching system that connects: 1. A user visiting the marketing website 2. The same user clicking “Download” for the Mac DMG 3. The desktop app being opened for the first time 4. The user later signing in, when applicable The goal is not perfect identity matching. The goal is good-enough attribution for our current low-volume flow, roughly around 100 download clicks per week. ## What needs to be figured out The developer should determine the best simple implementation for: - Capturing enough information on the marketing website when someone clicks the Mac download button - Capturing enough information from the Electron app on first open - Matching those two events probabilistically on the backend - Passing useful attribution information into PostHog events - Associating the attribution with the authenticated user once the user signs in - Testing that the full flow works end-to-end The likely matching signals are things like timestamp proximity, hashed IP, platform, timezone, language/locale, and other non-invasive browser/app context. The implementation should avoid overcomplicated or privacy-invasive fingerprinting. ## What we should do Implement a simple backend-backed attribution flow: - When someone clicks “Download for Mac” on the website, create a download-attribution record. - Capture campaign data such as UTMs, Google Ads click ID if present, landing page, referrer, and PostHog anonymous/browser ID where available. - When the Electron app first opens, create or retrieve a persistent app install ID. - Send a first-open event from the app to the backend. - Backend attempts to match that first app open to a recent download click. - Store the match with a confidence level such as high/medium/low/unmatched. - Send attribution metadata as properties on relevant PostHog events. - Once the user signs in, connect the app install and attribution record to the authenticated user ID. ## What we should not do in this version We do not want to overbuild this. Do not: - Generate a unique DMG per user - Modify the signed Mac app bundle - Inject tokens into the installer - Implement custom deep links yet - Build a full deterministic attribution system - Use probabilistic matching to permanently merge PostHog user identities - Send raw IP addresses to PostHog - Add invasive browser fingerprinting Probabilistic attribution should be treated as estimated attribution, not as guaranteed user identity. ## Expected deliverables The task is complete when: - The website download flow records download intent and campaign metadata. - The Electron app records first-open/install metadata. - The backend can probabilistically match app first opens to recent website download clicks. - PostHog receives app events with attribution properties when a match exists. - The system links the app install to the authenticated user after sign-in. - There is a way to inspect/debug attribution matches. - The implementation is tested locally or in staging with realistic flows: - normal download → immediate app open - delayed app open - no matching download - multiple download clicks from the same network - user signs in after opening the app ## Important constraint This is a first version. We prefer a simple and maintainable solution that gives us useful attribution data over a complex solution that tries to be perfectly accurate.
Open job