Revenue Attribution for SaaS

I built a prototype which links client-side analytics session (e.g. Google Analytics) to server-side e-commerce events (e.g. Stripe). This will finally let SaaS businesses answer the question of “I spent $X on ads, how much revenue have I made from those visitors?”

Every analytics ecommerce product I can find is geared for working with things like storefronts, where the purchase event can be recorded in JavaScript. I couldn’t find any way to hook up recurring or delayed payments to browser client analytics. This is something I need for my other bootstrapped service, Briefmetrics (analytics summary service). I want to be able to answer questions like “how much revenue have I made from referrals?”

If you run a SaaS business, is this something you need? How much would you pay for it?

I have a few alpha users up and running, and I’d like to start onboarding customers as soon as I figure out the pricing plan. Right now it only works with Stripe, Google Analytics, and Heap Analytics. Your Stripe data basically gets imported and linked properly within your analytics service, and now you can properly slice and dice along the ecommerce dimension.

Isn’t this what Mixpanel et al provide?

You able to assign a life-time uid to visitors that has their referral detail attached then when they become paying customers you’re able to see lifetime revenue.

Why not use Google Analytics revenue tracking events whenever a customer pays for something? Its one line of JS and you have it integrated with GA, AdWords, can set up funnels, etc.

@jnye131 How do you attribute recurring revenue events to Mixpanel? Whenever it triggers, you need to manually propagate it server-side to Mixpanel. You can instrument that manually, but would be nice if you didn’t have to worry about it.

@manuelflara Right, this is using Google Analytics ecommerce events precisely that way. Unfortunately, if you’re doing a SaaS business with recurring revenue, the one line of JS is not going to get executed month after month.

But yes, once it’s instrumented properly, then you get to integrate it with AdWords, funnels, etc.

I don’t see how it is possible to do it any other way? I may have missed something about your idea.

I would put this in my webhook for receipt of payment. Or if I have an event based code, listening to the “payment success” event. Anything else wouldn’t handle failed transactions?

You’ll also need a hook somewhere in your code for when a customer cancels their account.

Yes, that’s exactly how it works. You sign in with Stripe, which gives the service (let’s call it RevAttr) to all of your webhooks. When you create a customer object, the RevAttr JavaScript snippet intercepts the token and registers a mapping between the client’s analytics session and the credit card customer token on the RevAttr server. When the invoice webhooks occur, the mapping is looked up and appropriate analytics event is emitted associated with the original client session. Does that make sense?

(Getting the sense that I need to figure out a way to better explain the value proposition.)