Is LinkedIn working?
This is one of the most common questions I get from Shapeshift’s consulting customers (Series A+ founders and their content teams).
In the early days of Shapeshift, I tried really hard to prove that our CEO’s LinkedIn posts directly influenced pipeline.
I took a screenshot every time a prospect DM’d or reshared our content, and even built detailed models to track which LinkedIn users made their way into Hubspot.
Today, I’m still very active in our customer’s sales channels, but I have a much firmer stance that attribution on LinkedIn is a waste of time.
Fundamentally, LinkedIn is a brand play and not a direct response play.
Brand is especially impactful for long sales cycles, which is why we love working with startups doing enterprise sales.
Executives and founders spend time on LinkedIn, perhaps more than any other platform, which makes posting content super effective for finding and nurturing prospects.
You won’t be able to “measure” how much your LinkedIn post contributed to the $10M deal though.
So at it’s core, you just have to believe that creating content will work.
If you’re selling to the enterprise, you need to create content. Don’t overthink it.
How to see if your content is resonating with ICPs
Once you’re posting at scale, however, it’s important to know which pieces of content are resonating with actual customers.
LinkedIn’s algorithm rewards least common denominator content, so following likes alone gives a misleading picture of what your most valuable ICPs really want.
Last week, I described how we “deflate” our LinkedIn reaction counts to only focus on audiences within our ICP.
This is particularly useful at scale, when you:
Put ad spend behind retargetting or thought leadership ads
Give your enterprise sales team more signal to close more deals faster
Train LLMs on your content
Today I’ll show you how you can copy this for your own content team.
ICP alignment: For every LinkedIn post, we run scripts to see if we’re engaging with our ideal customer profile. We look at likes filtered by title, company, and our dream list of key prospects. These are much lower numbers, but far more directionally valuable.
The Shapeshift ICP playbook
For clients who post high quality content every day, Shapeshift tracks the number of ICP likes per post.
The simplest way to do this is using a spreadsheet, with each tab representing a post.
Let’s use one of my recent posts as an example:
In order to get the “real” or actual ICP likes, you need to parse the headings and job titles of everyone who reacted to your post.
For non-technical marketing teams, we recommend:
Signing up for HeyReach to automate the scraping of LinkedIn users who reacted to your post.
Using Google Sheets to automate the filtering of LinkedIn users —> ICPs
Here’s how to do it step by step:
Once you’ve signed up for HeyReach and have connected a LinkedIn account, navigate to the Leads UI (the audience icon on the left-hand nav).
Create a lead list from LinkedIn Post (Reactors)
Use the URL of your LinkedIn post to generate the Lead list. After a few seconds, Export to CSV to download the list of all people who liked your post.
Upload this CSV to a directory in your Google Drive.
Open up ChatGPT and use the following prompt. Upload the CSV downloaded from HeyReach and this image.
Write a Google Apps Script function named processLinkedInCSVs_CustomLayout that:
1. Connects to a Google Drive folder by ID.
2. Iterates over all CSV files in that folder.
3. For each CSV:
- Names a new Google Sheet tab after the CSV file name (without .csv).
- Parses the CSV into rows and headers.
- Normalizes headers to lowercase for matching.
- Identifies indices for First Name, Last Name, Company, Job Title, Headline, and LinkedIn/Profile URL.
- Skips files missing any required columns.
- Defines ICP keywords: [{Keyword 1} ,{Keyword 2} , {Keyword 3}]
- Excludes rows where the company name contains {Company Name}.
- Filters rows to keep only those with job titles or headlines matching an ICP keyword.
- Creates a new sheet with:
• A summary section in rows 1–4 showing ICP count in cell B3.
• A header row at row 6: ["Notion Ticket", "First Name", "Last Name", "Job Title", "Company", "LinkedIn URL", "LinkedIn Post"].
• Data rows starting at row 7 containing the filtered ICP rows.
4. Logs progress for each processed file.
Return only the complete Apps Script code that implements this, with no explanation or extra text.
Here is the csv that the Apps Script will interact with and a screenshot of the expected final output.
Open a new Google Sheet and enable Apps Script under Extensions > Apps Script.
Paste the code from ChatGPT directly into your Apps Script UI. You can ask ChatGPT to modify the code based on the specific column headers you need for your company.
Within your code configure the Google Drive folder ID where you store your HeyReach files. This is just the string at the end of the URL of your folder e.g.
1vQq2I-QT9NEg4-9rdCSrmhJeR3agbiFn
https://drive.google.com/drive/u/0/folders/1vQq2I-QT9NEg4-9rdCSrmhJeR3agbiFnYou’ll also need to tell ChatGPT the keywords to parse for in your ICP’s headings and job titles.
Shapeshift’s keywords are: [“founder”, “ceo”, “marketing”, “VP”, “gtm”]Once you’ve tested the Apps Script, every time you add a .csv file to your directory, you’ll have a fresh sheet of ICPs.
Key Takeaway
When you’re building content at scale, make sure you content is optimizing for the right audiences.
In future posts, I’ll talk about how to leverage this rich data to:
Put ad spend behind retargetting or thought leadership ads
Give your enterprise sales team more signal to close more deals faster
Train LLMs on your content
Enjoy your coffee,
Ira
Shapeshift is podcast production company telling the stories of founders and people on the authentic path.
If this was helpful to you, please share it with a friend.