An inspection of every piece of traffic and marketing measurement we have today, what the LinkedIn boost actually did, and the options for seeing clearly before we spend more on ads.
2026-10-24 · propflowai.co, LinkedIn page, demo form · Proposed — pending review · owner: session 003
The answerDecisionsThe boostWhat we haveGapsLinkedIn → ClaudeThe dashboardSources
About 10 real outside visitors a day. The Oct 19 jump is the LinkedIn boost plus ad-network scanners; engagement did not move; the site has never recorded a demo request. Half of Vercel's "visitors" are us and bots.
| # | Decision | Recommendation |
|---|---|---|
| 1 | Create the LinkedIn developer app and request both API products (10 minutes; steps in "Connecting LinkedIn" below). | yes, today |
| 2 | Audience Network off; future ads via Campaign Manager, not "Boost". | yes |
| 3 | Small site fixes: source fields on demo requests, "how did you hear about us", wire the contact form, three funnel events, per-channel landing paths, full sitemap. | yes |
| 4 | Vercel Web Analytics Plus, $10 / month (campaign tags, 24 months of history). | yes |
| 5 | Build marketing.propflowai.co (three goals, nightly pulls), after #1 and #3. | yes |
| 6 | $19 / month connector as a bridge if LinkedIn approval drags. | hold |
| 7 | Turn on Google Analytics 4. | hold |
| 8 | Give engineering access to Google Search Console. | yes |
Source: the site's own first-party traffic recorder (DynamoDB table propflow-traffic, which already labels each session as anonymous, staff, customer or bot). "Real outside" = anonymous, non-bot, on a public page. "Ad-network / offshore" = arrived from an ad exchange or scanner, or from outside the US, Canada and Mexico on a boost day. Oct 24 is a partial day.
Sean posted on Oct 19 and boosted it (campaign "Boost Post Website Visits", Oct 19 to Nov 1, audience "All followers"). Numbers from the LinkedIn export Fede pulled on Oct 24, matched against our own recorder.
| LinkedIn says (Oct 19–22) | Value | Our site saw (Oct 19–22) | Value |
|---|---|---|---|
| Paid impressions | 12,252 | Extra outside sessions vs. the 9-a-day baseline | ≈ 285 |
| Paid clicks | 156 | …of which arrived from ad exchanges or scanners | 78 |
| Paid click-through rate | 1.27% | …of which from outside US / CA / MX | 70 |
| Organic impressions / clicks | 165 / 21 | Sessions that read a second page or opened the demo or contact page | 8 (vs 10 the 4 days before) |
| Reactions | 4 | Demo requests | 0 |
| Spend | not in export | Visits with "linkedin" as the referrer | 4 |
| Piece | State | What it gives us | What it can't do |
|---|---|---|---|
| Vercel Web Analytics | on | Visitors, page views, pages, referrers, countries, devices. Has a public API (used for this page). | Mixes the marketing site with the signed-in app. Cannot tell us from strangers. Bots filtered by browser label only. No campaign tags (UTMs) without the $10/month add-on. No conversion events are sent. |
| Our own traffic recorder | on, unused | Every page view with country, device, referrer, dwell, page speed, and a label: anonymous / staff / customer / bot. 90 days of raw data. A hidden admin page (/admin/dev/traffic) nobody looks at. | No view built for marketing questions. No campaign tags, no conversions, no LinkedIn or Google data. |
| Google Analytics 4 | installed, off | The component is in the code; it does nothing because no tracking id is set. | Turning it on means cookies, a privacy-policy update and honoring the browser opt-out signal. |
| Google Search Console | verified, unread | The domain carries three Google verification records, so a Search Console property almost certainly exists. It is the only source of which Google searches find us. | Nobody on the engineering side has access or has looked. Not connected to anything. |
| LinkedIn page analytics | manual export | Daily impressions, clicks, engagement, organic vs paid, per post. | No automatic pull. No spend. No link between a LinkedIn click and a site visit (the LinkedIn app strips the referrer; only 4 of ~285 boost visits said "linkedin"). |
| Demo request form | works | Stores the request and emails the team. Verified today with one internal test submission: stored in 3 seconds and the team notice reached #hello-email. | Zero real demo requests recorded since the form started storing them on Oct 7. Stores no source, campaign, landing page or referrer, so a future lead cannot be traced to a channel. |
| Contact form | not wired | — | Submitting opens the visitor's own mail program (a 2026 Q2 TODO still in the code). Nothing is recorded; most phone visitors will bounce off it. |
| Sitemap | partial | Lists 8 pages. | Leaves out the platform, solutions, who-it's-for, resources, blog and careers pages, so Google is not told they exist. |
| LinkedIn Insight Tag / conversion tracking | none | — | LinkedIn cannot see which clicks became demo requests, and cannot show us the job titles and companies of our visitors. |
| Campaign tag convention | none | — | The boost linked to the bare homepage, so paid, organic and partner-network clicks are indistinguishable on our side. |
LinkedIn has no official MCP server or Claude connector. Everything legitimate goes through LinkedIn's Marketing API, which needs a developer app that Fede, as page admin, creates and verifies. The community MCP servers that exist either wrap that same API (so they still need the app) or scrape a logged-in session, which LinkedIn's terms forbid and which puts the company page at risk.
| Option | What it gives | Cost / effort | Verdict |
|---|---|---|---|
| A. Our own pull through LinkedIn's API | Page views, follower growth, per-post impressions/clicks/engagement (organic), and, with a second approval, campaign spend, impressions and clicks per ad. Pulled daily into the dashboard. | $0. Fede: ~10 minutes to create the app and verify the page. LinkedIn: days to a couple of weeks per approval. Us: a day of wiring once approved. | Recommended |
| B. A connector service (Windsor.ai, Supermetrics) | Same data, pulled under the vendor's already-approved app into Sheets or a database, no LinkedIn review wait. | $19–37 / month. Purchase = Fede's call. | Good bridge if A's approval drags past two weeks. |
| C. A community LinkedIn MCP server | The same API calls as A, wrapped for Claude. | Still needs the developer app from A; adds a dependency we don't control. | No advantage over A. |
| D. Headless browser on Fede's login | Anything the admin screens show, including spend. | Breaks LinkedIn's user agreement; can get the page or account restricted. | No |
| E. Manual export (today) | The content export Fede pulled on Oct 24; the skill reads any new export dropped in Downloads automatically. | A minute of Fede's time per pull. | Keep as the fallback until A lands. |
It is not a dump of all data. Fede's three goals, in order, are the whole dashboard. Everything else is detail folded away underneath.
| # | Goal | The one answer on screen | Can we answer it today? |
|---|---|---|---|
| 1 | Are real people coming? | Real outside visitors this week vs last week, team and bots removed, with a small daily bar chart. | yes from our own recorder |
| 2 | What does each channel bring? | LinkedIn · Google · Direct / word of mouth · Other: real visits, engaged, demo requests this week. | partly LinkedIn clicks arrive as "direct" until links carry tags or landing paths (decision 3) |
| 3 | Is the ad paying? | Per campaign: spent → clicks → real visits → demo requests → cost per demo. | partly spend needs Campaign Manager (decision 1 or a manual export); demos need the form to store its source (decision 3) |
Now: the local report /web-traffic shows these three answers on one screen from our recorder, Vercel and the LinkedIn export, and snapshots every day so month-over-month accrues. Next, if approved: the same three answers at marketing.propflowai.co, fed nightly by LinkedIn's API and Search Console, with demo requests joining the moment they are submitted. The research helpers' comparison of GA4, PostHog, HubSpot, Plausible, Dreamdata, HockeyStack and the connector vendors, and their build-vs-buy table, are in the research notes under Sources; the short version is that nothing we can buy joins LinkedIn, Search Console and our own demo records, and a custom page costs about $10 a month.
ai-propflow_content_1792852135373.xls, pulled by Fede 2026-10-24 (daily metrics Sep 23–Oct 22; posts sheet).~/.claude/skills/web-traffic/research/. Key external references: Vercel analytics pricing and API docs; LinkedIn Marketing API docs (page statistics, share statistics, ads reporting); Lunio invalid-traffic report via PPC Land; LinkedIn Audience Network help pages; GA4 channel-group rules; PostHog web analytics docs.Earlier page on the same subject: Never flying blind (2026-09-15, proposed PostHog; still pending). This page supersedes its recommendation: the first-party recorder it did not know about already exists, so the plan here builds on that instead.