Fintech SaaS partnerships die in analytics. Product says they sent 400 users. Partnerships says 12 applications show up. Finance says nobody funded. Everyone is technically telling the truth because the URL lost the ref parameter in a mobile webview, a redirect, or a “clean” marketing site. Attribution is not a reporting afterthought. It is the contract.
Loanable attributes partners with your unique partner link. That is the system. There is no public REST lending API that tags a customer_id inside your database and returns an offer object. Users complete an application on the Loanable apply flow, branded or co-branded. Funded deals pay 50/50 of Loanable profit, Monday ACH, no minimum. Loanable is not the lender. 150+ lenders in the marketplace are.
How to keep the code alive
Pass the query string through every redirect you control. Do not wrap the URL in a shortener that you have not tested. If you open an in-app browser, confirm it does not strip partner links. If you use a CMS landing page, put the code on the button, not only on a page the user might skip. QA this the way you QA billing. It is billing.
- Staging versus production codes so test apps do not pollute the dashboard
- A single source of truth in your config, not a hardcoded string in three clients
- A product owner who owns the button, not “marketing will add it later”
- A weekly check that started applications still show in the Loanable dashboard
What you can store on your side
You can store that you displayed the funding CTA, that the user clicked, and your internal account id. You cannot store a live underwriting decision you never received. Do not invent an “approved” badge in your UI because someone finished a form. Matching is not approval. Funding is funding. Show status only if you have a real partner-dashboard process, not a guess.
Economics follow the code, not the press release
If a customer applies from Google after seeing your blog, that file may not carry your ref. Design the in-product path to be easier than search. Working capital may fund as soon as 24 hours; that does not fix a missing query string. Large facilities up to $50M will not save a partnership with broken attribution. The 50/50 split only hits files that are actually yours.
Analytics you can actually trust
Count button clicks in your product analytics. Count application starts in Loanable’s dashboard. If those numbers diverge by an order of magnitude, you have a ref problem or a webview problem, not a “lenders are picky” problem. Do not bring a vanity click graph to a partnership QBR and call it origination.
Name the event in your schema something like funding_apply_clicked, and store a copy of the full URL you fired. When a ticket says “I applied and you lost me,” you can see whether the code was present. 50/50 of Loanable profit, Monday ACH, no minimum, only attaches to attributed fundings. 150+ lenders cannot match a user who landed on a clean homepage after your in-app browser stripped the query string.
Make the partnership measurable. See Loanable embedded solutions and use a unique partner link so every application from your product is still your application when it funds.