How do you keep track of KPI?

As a membership owner, there are some key indicators that are important to keep track of, in order to determine how our business is doing, how specific marketing strategies are working, etc.

I am curious how (or if) others are keeping track of various KPI, like customer lifetime value, churn rate, average length of stay, conversion rate, and the like.

So far, I do everything with an Excel sheet, however, I regularly miss some details.

What does everyone do?

My businesses didn’t really have any upsells or products to sell after (crazy, right) until recently so I used Google Analytics. I’d love to hear the answer too to help me in the future.

I do have better tracking on my Woo and Next.js sites, but my legacy s2 ones are challenging.

I use an affiliate plugin to track conversions that come via e-mail, for example, and the ones coming from ads.

I don’t care about churn because churners will churn and the only thing you can do to fight them is to not let their subscriptions die (or unsuspend them on PayPal) and keep trying to collect for as long as you can on older subscriptions (but remove their access to the unpaid content and notify them they lost access but they will be charged until they cancel their subscription actively). Once you get your money you rehabilitate the user.

Many times people just do nothing when a card fails and you are able to collect a week, a month or a quarter later. Then you email them again to let them know their overdue payment went through and that they are regaining access. That way nobody can say you didn’t disclose everything properly.

Now, I have a handful of members, so it’s easier to manage things manually. I don’t know how it is if you have tons of them. :grimacing:

I removed and even deleted my entire Analytics account with this new Analytics v4.0 crap that requires you to be an expert to get anything done! They noticed they weren’t profiting from small “customers” so this was the punch they gave on our faces (you know, users that just wanted the information easily accessible like before).

Setting up GA4 isn’t that bad. My biggest issue was linking Ads conversions with Analytics because, for whatever reason, it seemed to default as a secondary (not an ecommerce) conversion. Once I flipped that switch it all seemed to work for my ad tracking.

I can post where I put my conversion scripts in the s2 settings and what I put there if anyone would find it helpful.

1 Like

That’s cool! I don’t use GA4 anymore. I used Analytics for a couple of decades (something like that). Killed all my properties and closed all my GA accounts with their forced move.

Yes, I had the tags working, but every little piece of information must be requested separately, everything needs to be programmed, there’s nothing ready for us to just open and use like we had before.

You may be able to do some nice tracking for your ads by using an affiliate plugin, then you use the affiliated query at the end of your urls used on your ads.

Too much complexity when we just need basic metrics. Now I am just going blind and using Google Search Console and Cloudflare Analytics. I might use MS or Yandex for Analytics, didn’t decide yet. I already didn’t use Google for ads anyway and I also closed my Adsense because I was making close to nothing.

Assuming you have your analytics tag already loaded through your theme or a code injection plugin, here’s what I put on the signup and modification settings under s2->APi/Tracking (The second script tag is for Microsoft ads). I don’t sell recurring, though. So this works for one-time purchases. Hopefully it’s enough to start with for recurring.

<script>
gtag('event', 'purchase', {
    transaction_id: '%%subscr_id%%',
    affiliation: 'I put my site name here',
    value: '%%initial%%',
    currency: 'USD',
    coupon: '%%coupon_code%%',
    items: [
    {
        item_name: '%%item_name%%',
        item_id: '%%item_number%%',
        price: '%%initial%%',
        quantity: 1,
    },
    ],
})
</script>
<script>
window.uetq = window.uetq || []
window.uetq.push('event', 'purchase', {
    transaction_id: '%%subscr_id%%',
    ecomm_prodid: ['%%item_number%%'],
    ecomm_pagetype: 'purchase',
    ecomm_totalvalue: '%%initial%%',
    revenue_value: '%%initial%%',
    currency: 'USD',
    items: [
    {
        id: '%%item_number%%',
        quantity: 1,
        price: '%%initial%%',
    },
    ],
})
</script>
2 Likes

Nice idea!

I can’t take all the credit. It was a GA4 update for Jason’s original code here: https://s2member.com/kb-article/google-analytics-ecommerce-tracking/

1 Like