Hunting For Very Specific Leads

Are you getting too many results, most of them junk? Not really sure how to narrow them down? But what if there was a way to find your desired audience and eliminate all the noise?

We’ll cover a technical audience first and then analyze non-technical people in the second part.

Grab a coffee and read on.

Technical Audience

A Small GitLab Integration

I used to work on Code Dog, a small productivity tool for GitLab.com and GitLab EE Self-Hosted which assists teams of programmers during their stand-ups. Company size and industry don’t matter – the few programmers that they employ just have to be using GitLab. Let’s try to develop a filter to find them.

One way to do it is to imagine what people are saying and try to match that. A way that actually works though, is browsing through a thousand threads and learning.

So I set out to learn.

Learning

I started with a simple filter: gitlab. This resulted in over 300 hits per day. Wonderful. My results on one screen, a notepad on the second and a draft of this post on third I set out to go through all of them. There are two approaches.

Method 1: Eliminating False Positives

The first approach will focus on what to exclude.

I want to help teams improve their daily stand-ups. Open source projects are irrelevant. And besides, everybody knows, you should never sell to hobbyists. Let’s try to identify and exclude them.

The first thing I noticed is a bunch of posts by a bot on Reddit:

That little “source code” link? It points to https://gitlab.com/juergens/stabbot, which matches our filter.

Another way to spot an open source project is a link to its issues, e.g. https://gitlab.com/LineageOS/issues/android.

Or to its code: https://gitlab.com/Puffles_the_Dragon/core-software/blob/master/src/coreutils/rm/rm.c or https://gitlab.com/0xnaka/thehelperdroid/raw/master/helplist.txt.

In fact, I realised that all links to https://gitlab.com/ were pointing to open source projects.

My filter thus became:

gitlab NOT `https://gitlab.com/`

It still matches a lot of false positives. But at least I know that I won’t miss anything relevant. Tomorrow I’ll stand a better chance against the, now tamed, influx of posts.

Method 2: Just The Needles From The Haystacks Please

The second approach will focus on specific phrases someone we want to reach out to would use.

As I was weeding out irrelevant hits the number of my browser tabs with valuable hits kept growing.

Here are a few posts by people who clearly are programmers using GitLab in their day job. I hilighted phrases that, hopefully, will match threads similar to them in the future:

Problem was with authorized_keys file. Find Issue in https://docs.gitlab.com/ee/administration/operations/fast_ssh_key_lookup.html

I am migrating projects to Gitlab.com from a hosted Gitlab-ce

I am working on using GitLab CI/runners to push my site to S3 and invalidate files on cloud front.

I want to store the vendor manually and lftp replace only changed file or new file of this directory (changes only). how to do it? My gitlab-ci.yml command is:

For the ease, I have created a common group runner. My question is, how may jobs can a a single group runner can handle? What is the best runner strategy for having less queue for **CI/CD **?

Hi, we’re using Gitlab CI/CD on gitlab.com with a connected Kubernetes cluster. Until recently, we ran on Azure, but have now decided to switch over to digitalocean.

I find a way to fix it. I had to edit manually the database as in **https://gitlab.com/gitlab-org/**omnibus-gitlab/issues/4085. First, connect to the database: sudo gitlab-psql -d gitlabhq_production Second, delete the column: ALTER TABLE services DROP COLUMN deployment_events;

Triggered pipeline should contain remote yaml, example: include: remote: https://gitlab.instance.example**/api/v4/**projects/N/[…] Tested on gitlab **12.2.4** and **12.4.2**

And many more, but we’ll stop here. Let’s assemble our excellent, evidence-based filters:

gitlab `/api/v4/`
gitlab ` 12.`
gitlab `ci/cd`
gitlab `runner`
gitlab kubernetes
migrating "to gitlab"
`https://gitlab.com/gitlab-org/`
`https://docs.gitlab.com/`
`gitlab-ci.yml`

Perfect for the busy, these will have almost no false positives in them. Although you might miss a post every now and again.

Non-Technical Audience

What if your audience is non-technical? What if they’re not well defined and doing something fuzzy, like say “internal communications”?

In this case let’s identify some of their job descriptions, jargon, conferences, products they buy and tools/techniques they use. All of these are strings of text that we can later search for.

Conferences

One conference that came up was Engage Employee Internal Communications Conference. Looking at the job descriptions of the speakers we find:

Seems like a pattern.

It’s also worth having a look at the sponsors. Sponsors are hoping to get talked about by the attendants, and if they talk about them we can find them.

Blogs

A quick Google search revealed this reasonably looking blog post. We already started to see a pattern, will this post confirm it? This article is about 10 tools used by people doing internal communications. Tools solve problems. Let’s see what types of problems they have:

Jargon

Looking at a few more blog posts we find other jargon phrases:

But let’s stick to the most prominent phrase/problem: employee engagement. A quick Syften (or Google) search reveals two subreddits: /r/AskHR and /r/humanresources.

Analyzing those two subreddits will allow us to better understand our audience, refine our list of their jargon, and help us find them better.

The Steps

Still not sure how to narrow down your results? Send me the information you’ve assembled so far and I’ll help you out.

Conclusion

Designing a good filter is never a one-and-done job. If you want it to stay sharp you have to maintain it like you would your kitchen knife. But if you do, you’ll never complain about a lack of people to reach out to again.

Resources

Want more growth tips? Let's stay in touch

From time to time I'll send you my thoughts on growth marketing so you can reply and let me know what you think. I won't send you anything I wouldn't want to receive myself. Unsubscribe any time.


If you enjoyed this article please consider sharing it with your friends: