Agency 101: How to Convert Leads
November 26, 2023
At Rubric, we want to minimize the time we spend generating leads and converting clients, so we've worked on our Sales Pipeline very much how we would engineer a software product.
It all starts with a simple contact form. Nothing extraordinary, but there are lots of subtle interactions that add to the user experience.
Screenshot of Rubric's contact form. Get in touch, first name, company, email, message, submit.
When a potential lead visits our website, they can click R anywhere to get started. This accelerates their time to value. Otherwise, they can always click on "Get in touch" in the header as a fallback option.
The contact form is intentionally simple, yet sufficient to set context for a first conversation. We ask for first name, company, email, and a message.
Alternatively, a visitor can click on our email to copy to clipboard. We find the "mailto:elon@x.com" links annoying, so this is a good compromise. We use Sonner by @emilkowalski_ for the toasts. It fits our brand aesthetic perfectly out of the box.
Screenshot of Rubric's contact form after submission: a toast says email copied
Once you fill out the form and hit submit, you get a confirmation of your submission. We use @nextjs Server actions to make this seamless.
Screen of the contact form after submission with a message: a toast reads request submitted
Now, on to the fun bits.
The server action saves this data straight to our @NotionHQ "Pipeline" database with all the relevant metadata.
Screenshot of Notion showing the entry created from the contact form. Elon, November 27, by Sarim Malik, status lead, etc.
After it saves to Notion, it sends a message to our #sales channel in @SlackHQ and also includes the specific link to the Notion ticket. At this point, one of our team members reacts to the message with an emoji letting others know they are the account owner of this lead.
Screenshot of Slack showing the message triggered by the new contact form submission: new lead, Elon, etc.
They will will reply back to the request in <24 hours and cc our shared @Google inbox hello@rubriclabs.com, so everyone has visibility into the conversation.
I am very pleased with how this turned out, still lots to optimize and improve. Some ideas here are inspired by how @raycastapp collects user feedback, blog linked here.
As always, the code is open-source, if you want to fork or contribute.
Good luck.