Kitelinks click count is different than bit.ly clicks count in terms of:
- unique vs. total clicks
- bots filter
Bitly does a "301" redirect to the destination page and logs the request while doing so. They do not have control over the destination page and the browser. The only way they can define the uniqueness of a click is via the timestamp of a request and the IP address.
Kitelinks work a bit differently. We serve static pages and push the request into a queue which makes the data available to you in nearly realtime. While serving the page, we tell the browser to store a unique key that will be available in all further Kitelink requests. This is how we can distinguish between unique and non-unique clicks even after months and changed IP addresses if the clicker uses the same browser.
Each time you share a link on Facebook, Slack, iMessage, etc. a bot requests the Kitelink to display a small preview. When a bot requests your Kitelink, we ignore the request and do not increment the counter. It's quite hard to maintain a complete list of bot user-agents but we do our best to detect those and filter all of them out.