How to Spy on Competitor Signups

February 22, 2016

Knowing how many signups our competitors get has always been a question I’ve wondered about. This number is the key to estimating how they are growing. Without actually hacking into our competitor’s analytics tools I didn’t think this number was possible to get. After a bit of digging I realized it was right in front of me! Further, I realized the method will work for just about every other SaaS company.

The Experiment

To demonstrate I’ll apply this technique to a few actual companies. Let’s take a look at the help desk software space and spy on the growth of ZenDesk, Desk, and Groove.

alt text

First, a quick database lesson.

It’s safe to say that most SaaS apps are built on a relational database, and this database has a table for accounts, companies, or some other model that represents a signup. Also, this table is going to have a unique ID for each row, which is almost always going to be auto incrementing. In other words, if you signup now and are account #450 then the next person to signup will be account #451. In turn, all you need are the IDs and times of creation for two accounts. You can then determine the number of signups from the time the first account was created to the time the second account was created.

Second, a bit of browser hacking.

There are a lot of different techniques you can use to grab the ID of an account. However, I found two methods that consistently work well across SaaS apps. The first way is to use your browser’s inspector to dig into HTTP requests. You can often find the account ID sent in the payload when submitting forms or taking other actions. For example, the ID is returned in the payload when updating your company profile in Groove. You can easily view the payload data that is returned in your browsers inspector:

alt text

If grabbing the account ID from a request payload does not work, you can try investigating third party requests. Every SaaS app seems to have at least a few analytics tools running these days. You can use the requests sent to these services to grab the account ID. For example, the ID is sent to Heap Analytics when you trigger events in ZenDesk. You can inspect these requests really easily:

alt text

Third, wait for a week and then repeat.

If you are able to signup for an account on your competitors site you have control over the time an account is created. If you wait between the first and second times you signup then you’ll know how many signups occur in that timeframe. I recommend waiting at least a week to improve the accuracy of the data. If you shorten this timeframe you may get skewed results. However, it’s your experiment, so do what you want :)

The Results

When I ran this experiment I waited just over a week — 8.625 days to be exact. In the table below you can see the Account IDs that I captured when signing up for each service. Subtracting these two IDs gives me the total number of signups during the timeframe, and dividing this number by the number of days gives me the average number of signups per day. The math here can’t get any simpler. Voila, I now have the piece of data I’ve always wanted .

alt text

So What Now?

Knowing how many signups a competitor gets is a very useful metric. Signing up represents a critical inflection point in the SaaS funnel. It is a core KPI for marketing and sales performance, but it is also the baseline from which revenue growth stems. As a result, you can draw powerful insights into both marketing and financial performance. At the least, you can determine if a competitor’s marketing strategy is worth mimicking. You can also work down the funnel and make estimations on revenue growth. These topics deserve their own articles. I’m hoping that your brain is turning and you will find some cool ways to dig deeper. Discovering this technique to track competitor signups was enough to get me excited. Good luck with your research!

This technique is obviously prone to error and it will not work for every company. Use discretion and follow your instincts when using this experiment.

Thanks to Alex Turnbull from Groove for taking a quick look at this article. Your journey and willingness to share has been inspiring.

Ben Bartling

Ben Bartling

I'm an indie maker, full-stack developer, believer in product-led growth, and somewhat of a designer. I've been an entrepreneur my entire life. I built, grew, and sold my bootstrapped SaaS business – ZoomShift. I'm currently building my next venture and helping others do the same via Recurium. Reach out if I can help.

I write as a personal outlet, and I publish what may be helpful for others. I live in Milwaukee with my wife, son, and daughter on the way.

Feel free to contact me by email or on Twitter. 👋