Content intent board: which pages pull in target accounts

By General Input

Rank every page on your site by how many real companies read it, filter down to your ideal customer profile, and get a written readout on what to publish next.

Integrations

  • Leadfeeder
  • Slack Bot
  • Google Sheets

Type

App

Categories

  • Marketing
  • Operations

I want an internal app for our marketing team that shows which pages on our site actually pull in the kind of companies we want to sell to, rather than which pages simply get the most traffic. Put a date range picker at the top of the app; everything on the board is scoped to that range.

Data. Use Leadfeeder List Accounts so I can choose the tracked account once, and remember that choice. For the selected date range, use List Leads to pull every identified company, then use List Visits For Lead once per lead to walk that company's sessions and collect the page paths it viewed. Use Get Lead when you need fuller firmographics for a company that the lead list does not carry. Aggregate all of those visits by page path.

Main view is a ranking table where each row is a page path. Columns: the number of distinct identified companies that read it, the number of distinct ICP companies that read it once my filters are applied, total visits, and the change versus the previous equal-length period immediately before the selected range. Sort by ICP companies by default and let me sort by any column. Pages read by only one or two identified companies collapse into a single Long tail row at the bottom that shows how many pages and companies it covers, expandable if I want the detail. Make the cutoff a setting, defaulting to three companies.

The ICP definition has two modes and I can switch between them. In manual mode I get filter controls for industry, employee count band and country, applied against the company firmographics. In saved feed mode, use List Custom Feeds to show the saved Leadfeeder feeds and let me pick one as the ICP definition instead, in which case the companies in that feed are the ICP set and the manual filters are hidden. Always show which mode is active.

Clicking any page path row opens a drawer listing every identified company that read that page, with company name, industry, employee count, country, how many separate visits it made to that page, and its most recent visit date. Sort by return visit count descending and mark which companies are in the ICP set.

Clicking a company inside that drawer opens its full page journey for the selected range: every page it viewed in time order, with dates and referral source where available, so I can see the path from blog post to pricing page. This should come from the visit data already fetched for that lead rather than refetching.

Add a Write the readout button that starts a background agent. The agent reviews the top and bottom pages for the period along with the ICP breakdown and the period-over-period change, then drafts a plain English content intent readout: which pages attract our target segments, which pages bring only noise, and what we should write next. Its output lands back in the app in a readout panel, and the app keeps past readouts per period so I can look back at them.

From the readout panel give me two actions. First, post the readout to our marketing channel using the Slack Bot Send a Message operation, letting me pick the channel. Second, append a period summary row into a running Google Sheet using Append Values, letting me pick the spreadsheet and tab, so we build a long-term trend of page ranking snapshots. That row should carry the period dates, the top pages with their company and ICP counts, and the period totals. It is a snapshot of the ranking, not a raw lead log.

Performance matters here. Page-level aggregation means one visits call per lead, and the Leadfeeder token is capped at 100 requests per minute with a maximum page size of 100. Fetch the visits in batches that stay inside that limit, show a progress indicator while the fetch runs, and cache the aggregated result per account and date range so that changing the ICP filters, the sort order or the long tail cutoff re-renders from the cached aggregate instead of refetching everything. Give me a manual refresh button for when I want fresh data.

Several people on the marketing team will use this, so persist the filter and readout settings. Handle a date range with no identified companies gracefully rather than showing an empty broken table.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board