The go-to-market system I built at Growth-X, drawn as it actually ran. Every channel, what happened after the click, and how ads brought the same people back to the site. I am running the same machine again now, for my own practice.
Most go-to-market spending pays for a visit and then loses the visitor. At Growth-X, a visit got identified where possible, recorded against a person, followed up, and added to an ad audience, so we could reach the same person again for far less than the first click cost. Below is how each part worked, in the order I would build it.
Fourteen tools in the diagram, grouped into the five things they actually do. Stage five sends people back into stage one.
Four sources, all pointing at the website. Blog posts that answer questions prospects actually asked. Google Ads on a small budget. LinkedIn posts from the whole team, most of them from me as the founder. And outbound, aimed only at accounts showing a buying signal.
Two parts of this matter more than they look. The first is the LinkedIn profile. I had thousands of connections, and what counted was whether they reacted to my posts, because every reaction shows the post to that person's own network.
The second is the signal. We watched for companies that had just raised a Series A, because a company that just raised is about to spend on growth. Crunchbase and similar sources told us when it happened. A comment on one of our LinkedIn posts counted as a signal too, and went into the same outbound queue. Without a signal, we did not reach out.
Buying clicks before the rest of the engine exists. With nothing behind the click, the visitor leaves and you never learn who they were.
Everything lands here, and most visitors leave without saying who they are.
97% of visitors leave without converting.
Marketo and SiriusDecisions, via Happierleads
Which is why the destination rule matters. If you made a video, host the page on your own domain and embed it there. If you are sharing a resource, put it on your site, or at minimum route it through a link you control. LinkedIn will not tell you who clicked a link you shared, so a link that leaves your site is a touch you will never see.
Never send customers to a place that is outside your website, because you want to track it.
One caveat. The moment you send someone to your site, they assume you are selling. If the page gives them what the message promised, that is fine. If the message promised something useful and the page is a sales pitch, they leave.
This stage turns anonymous traffic into names, and it is the one most websites skip. RB2B is the tool I use. The free tier resolves companies. The paid tier resolves people, which means the LinkedIn profile of someone who was just reading your pricing page.
Just one person buying your product could pay for their subscription.
If you cannot afford the paid tier, do this instead. Take the company level identification, which is free, and match it against the people you have already contacted in outbound. You know who you wrote to at that company. Now you know that company is on your site this week. That is a warm follow-up for zero dollars.
The free Slack feed is the other thing to use, and it is where a technical founder gets ahead. RB2B posts each identification into a Slack channel, and a script can read it.
Slack alert → script reads the channel
→ cron or cloud routine, once a day
→ write the hit into your own store
→ raise that lead's score
→ score crosses your line → it goes in the outbound queue
You can build a script that reads from Slack, and with a cron job … populate your stats of the GTM machine and then trigger whatever action you need once you identify. Which can just be scoring higher a specific lead.
About that score, since everything after this depends on it. It is one number per person, and every recorded touch adds to it. Opened a post, visited twice, came back after a DM, arrived from a retargeting ad. You set the threshold where a human gets involved. Without a score, you have no way to decide which of two hundred names to follow up first.
Then enrichment fills in the gaps, and all of it lands in a CRM that records every touch, not just the last one. Every later stage reads from that record.
Usually it takes six, seven steps to convert a lead into a person that will actually do a specific action, like booking a call or trying a demo.
| Tool | What it does | Cost |
|---|---|---|
| RB2B free | Company level identification, roughly 150 a month, plus the free Slack feed | $0 |
| RB2B paid | Person level, name and LinkedIn URL of the visitor | from ~$79/mo |
| Clay | Enrichment and verification. Priced in credits | skip, see below |
| Your CRM | The touch ledger. Any CRM, including one you build | $0 to start |
Now you know who they are, so you reach out. A connection request, then a few messages after they accept, each one carrying something useful. Past that, the places nobody bothers with. Follow them on X, comment on their posts there, react to an Instagram story. None of these closes anything on its own. Each one is another touch.
Any box you add to this GTM machine is an extra touch, and any extra touch, if done right, does increase your chances that the client will take actions.
An accepted connection also works like a newsletter subscription. Once someone connects, your posts show up in their feed, and every post after that is a touch you did not have to send.
A newsletter is your LinkedIn feed.
Email is the channel I would use least at this stage. A cold email asking for a call gets ignored, and a sending domain that gets flagged stops reaching anyone. Put the addresses you collect into retargeting audiences instead (stage five). Write an email only when the signal is very strong, or after five or six other touches, and when you do, send something useful and leave the pitch out.
One thing has changed since I built this. Everyone has AI now, everyone sends outreach at volume, and the average message got worse. Four sentences written about the recipient stand out more than they did in 2019. Keep it short and specific, and only write where there is real intent. Where there is no intent yet, post, stay visible, and send nothing.
You want to be useful. You want to give value. You don't want to get value.
Here is a real message. I send it today to people who looked at buying Growth-X on Acquire.com when it was for sale. It is shown as it goes out, except that the revenue line is left out here.
You were interested in Growth-X a while back. I sold it in June 2025. Nine years, no funding, 500+ clients. I made the whole GTM machine public, 9.4:1 LTV to CAC. riccardopisano.com/gtm-engine I do this for founders now. Worth a look for you or one of your companies? 30 minutes, free. riccardopisano.com/book
It opens with the one thing we have in common, gives them something useful before asking for anything, and asks once. The same day, a LinkedIn connection request goes to the same person with a one line note saying who it is from, so they recognise the name in two places.
Not every first touch has to be a message. One opener that got me a reply was a comment under a founder's LinkedIn post. The post was about having three products and looking for a GTM hire. I wrote that with three products and no clear signal from the market about which one people wanted, a hire would not solve it, and that picking one product first would. A reply under a post is public. The author gets something useful whether or not they answer, and everyone else reading the thread sees how you think before you have ever messaged them.
The enriched emails from stage three become customer list audiences on the ad platforms. This is where most of the addresses you collect should go. The people already in your engine keep seeing you, and every ad sends them back to the website, where stage two identifies them again.
This stage is also what makes paying for stage one reasonable, and I want to be clear about my own position here.
Every single person that gets into your website then gets retargeted in so many ways that your $1 value expense on Google Ads is just an entry point. It is not getting lost.
The same dollar buys something different when the click lands in a system that will reach that person another six, seven or eight times. That is the only case where I think paid traffic makes sense, and it is why this stage gets built before the ad budget goes up.
Running retargeting without stage three. No identification and no enrichment means no list to upload, and you are paying to reach strangers again.
The retargeted lead clicks back to the site. That visit is identified again, the score goes up, the CRM records another touch, and they re-enter the sequence one step further along than last time. Each round costs less than the first, because you already know who the person is.
At Growth-X, a customer was worth 9.4 times what it cost to win them, a 9.4:1 LTV to CAC ratio. The benchmark usually quoted as healthy is 3:1.
This is what makes us grow without much investment, to an exit.
Build it in this order. Each stage needs the one before it in place to be worth anything.
Build me a small script that turns RB2B's Slack alerts into scored leads. 1. Read new messages from the Slack channel where RB2B posts website visitor identifications, with a Slack bot token taken from an environment variable. Use each message's ts as its unique id and skip any ts already processed, so re-running the script never counts a visit twice. 2. Parse each alert into name, title, company, company domain, LinkedIn URL and the page they visited. Keep company-only alerts too, with the name left empty. 3. Save every alert as a touch in my CRM, which is [HubSpot free / a Postgres table / a Google Sheet]. One record per person, one row per touch. 4. Score each person and store the total. First visit 1, second visit 3, pricing page 5, a return visit after I messaged them 8. 5. When a person's score reaches 10, post them and their touches to my Slack as ready for a human. 6. Run it once a day on a schedule, and first show me a dry run against the last 50 messages that writes nothing.Read what it writes before you run it on real data.
Growth-X is gone. It was acquired in 2025 and the buyer moved away from this category. Where the diagram says Growth-X, use HeyReach or whichever outreach tool you prefer, and stay inside LinkedIn's terms while you do. The engine never depended on one tool. The sequence logic we ran inside Growth-X was never published.
I would skip Clay today. It was the right call when we built this, but credit pricing gets expensive fast. Most of what we used it for is now a short script calling a few APIs directly, and a coding agent can write it for you.
I build this as a fractional CTO and Head of GTM, which covers both halves the machine needs. Someone has to write the script that reads the Slack channel, and someone has to decide whether a lead is worth the touch. On a free thirty minute call I look at the go-to-market you run today, where the leads drop out, and what a version built for your company would include.
Book a free call to assess your GTM engine