Tools we work with
These are some of the tools we know well, roughly in the order a customer runs into them. We build around what your business needs, whether that means working with your existing platforms, introducing others or developing custom software.
It usually starts with a visit to a Webflow, Framer, Shopify or custom website. Before anything is tracked, the visitor gets a consent banner from a tool like iubenda or Cookie Information.
We set up the banner for GDPR, California’s CCPA and Canada’s PIPEDA and connect it to your tracking. Tags only fire after a yes, whether they run in the browser or on the server, and your analytics, CRM and ad platforms get the same choice. Every answer is stored in a consent database, so you can show who agreed to what, and when. We also add forms for withdrawing consent or deleting data, keep the cookie policy in line with the tools you actually run, and respect the browser’s Global Privacy Control setting.
Tags can run in the browser through Google Tag Manager,
or as server-side tracking in Cloudflare Zaraz, where ad blockers have a harder
time reaching them. Visits are measured in Piwik PRO or GA4, with Hotjar for
heatmaps and recordings, all set up in your own accounts so the tracking stays when you change
agencies.
Once someone signs up, books a call or places an order, Segment or RudderStack can send one set of events about each customer to every tool. In smaller setups, we connect the tools directly instead. If you sell software, product analytics lives in Mixpanel, Amplitude, Heap or PostHog, where we make sure each person is counted once, before and after they log in.
Then customers reach your CRM and email tools, HubSpot and ActiveCampaign in many setups, and in larger companies an ERP like NetSuite. We pass activity from the product or the shop to each contact, so the emails can follow what people do, and check that every buyer actually reaches the CRM.
Wherever orders and payments happen, in Stripe, Shopify or your own checkout, we can confirm them on the backend. From there they go to Meta’s Conversions API, Google Ads and LinkedIn Ads with the original ad or search still attached, so purchases an ad blocker would hide still count.
A full copy of your data can also live in a warehouse you own, like BigQuery, where you can query it directly and report on it in Looker Studio.
Some questions need data you don’t have yet: how big a market is, who your competitors are, who is advertising and what they charge. We buy it from Ahrefs, DataForSEO, Apollo and others, collect it from public sources like directories, ad libraries and archived websites, and join it to your own data.
We’ve rebuilt competitors’ pricing history from the Wayback Machine and collected GPU prices from 22 cloud providers. We wrote our own collectors for the Meta Ad Library and the LinkedIn Ad Library, and ran 24,067 prompts through Google, ChatGPT, Gemini, Claude and Perplexity. Language models sort what we collect, and detections from tools like Wappalyzer are checked against the raw pages. Our study of 2,357 European software companies is the biggest example we’ve published.
When no tool does the job, we write it, mostly in TypeScript and Python. We’ve built an inspection app that works offline in the field, an interactive map of a company’s entire data setup, data APIs on Cloudflare Workers, and AI features on OpenAI, Claude and Mistral.
All of it can run on hardware you control. Some companies want to own their tools as well as their data, so we self-host open-source alternatives, such as Matomo for analytics, on your servers or on the Kubernetes cluster we run on Asergo’s servers in the EU.
We run our own company the same way. Git is on Forgejo, chat on Mattermost, files on Seafile and passwords on Vaultwarden. Projects live in Plane, the CRM in Twenty, sign-in in Pocket ID and consent records in c15t. Bookings go through Cal.com, screen recordings through Cap, and video calls through an app we built on LiveKit. The Convex app backends and Observable dashboards we build for clients run on the same cluster. Backups go through Restic and are tested by restoring them.


