A three-ring prioritisation method for identifying the single traction channel most likely to drive growth at the current stage of a startup.
Which acquisition channel should we concentrate on to drive the next stage of growth?
The Bullseye Framework is a structured approach to finding the one acquisition channelAcquisition ChannelGrowthA channel through which users are acquiredView reference → that will drive meaningful growth for a startup at its current stage. Gabriel Weinberg and Justin Mares introduced it in Traction to stop founders cycling through tactics at random and give them a disciplined, evidenceEvidenceValidationData supporting or refuting a hypothesisView reference →-based method for channel selection.
Gabriel Weinberg, founder of DuckDuckGo, and Justin Mares published Traction: A Startup Guide to Getting Customers in 2014, with a revised trade edition following in 2015. The book came out of Weinberg's direct experience growing DuckDuckGo and a series of interviews with founders who had achieved breakout growth through a surprisingly diverse set of channels. The core observationObservationUser ResearchA specific behaviour or statement observedView reference → was that almost every successful startup had found one channel that did most of the work, and that finding it required deliberate testing. The first edition catalogued 19 traction channels, from viral marketing and SEO to speaking engagements and offline advertising. The framework has since been widely adopted in growth and go-to-market practice, often shortened to the three-ring diagram that gives it its name.
Picture a target with three concentric rings. The outer ring holds all 19 traction channels brainstormed for the business. The middle ring holds a shortlist of perhaps three to five channels that seem plausible given the product's audience, price point, and competitive context. The inner ring holds the one channel the team is actively testing right now.
The process runs in three phases. First, brainstorm: score each of the 19 channels on two dimensions, expected reach and likelihood of working, to produce a ranked list. Second, focus on the middle ring: run cheap, fast experimentsExperimentValidationA test designed to validate a hypothesisView reference → on the top three to five channels, spending roughly equal time and money on each. Third, commit: pick the channel that showed the strongest signal, concentrate resources on it, and optimise it until growth flattens.
A worked example. A developer tooling company at Series A is deciding between content marketing, paid search, and community building. They run three traction tests over six weeks: a blog and SEO sprint, a Google Ads campaign on high-intent keywords, and a Slack community seeded with 200 target users. The Slack community produces the most qualified signups per pound spent and generates organic referrals. They move it to the inner ring, hire a community manager, and double-down. Content remains a secondary investment; paid search is deprioritised.
The discipline of the framework is that the channel occupying the inner ring changes as the company grows. A channel that works at 1,000 users can saturate by 50,000. The middle and outer rings are not discarded; they are re-evaluated at each stage.
Bullseye is most useful in the early stages of a startup when traction is the primary constraintConstraintStrategyA constraint entityView reference → and resources are limited. It is also a sound tool for a product that has hit a growth plateau and needsNeedUserA user need, pain, desire, or constraintView reference → to test adjacent channels without abandoning what already works.
It fits less well for mature businesses that already have diversified acquisition across several channels, where the goal is portfolioPortfolioPortfolioA grouping of products by strategic axisView reference → optimisation and not channel discovery. The framework also demands honesty about failure: a common misuse is running tests that are too short or too underfunded to surface a signal, then interpreting silence as validation. Each traction test should be scoped to produce a clear result, not just activity. The 19 channels are also a fixed list rooted in a particular era of internet marketing; practitioners should treat them as a starting taxonomy, not an exhaustive one, and add channels (short-form video, product-led virality) that fit their context.
The Bullseye Framework is a FunnelGrowthA conversion funnel tracking user progressionView reference → pattern in the growth category. The three rings map onto funnelAcquisition ChannelGrowthA channel through which users are acquiredView reference → entities, which is the appropriate type for any discrete channel through which a product acquires users. The Unified Product Graph models the channel discovery process as follows:acquisition_channel
acquisition_channelAcquisition ChannelGrowthA channel through which users are acquiredView reference → entities at a brainstorm or candidate status, capturing every plausible channel for a given product.acquisition_channelAcquisition ChannelGrowthA channel through which users are acquiredView reference → entities in active testing, each linked to the experiments or budgets validating them.acquisition_channelAcquisition ChannelGrowthA channel through which users are acquiredView reference → entity currently designated as the primary growth bet.growth_campaignGrowth CampaignGrowthA growth-focused campaignView reference →, the bounded experiment that produces evidence for or against a candidate channel.acquisition_channelAcquisition ChannelGrowthA channel through which users are acquiredView reference → entity that receives the team's concentrated effort.Modelling channels this way means the progression from outer to inner ring is tracked as status transitions on the same entity, and the evidence from each Growth CampaignGrowthA growth-focused campaignView reference → links directly to the channel it was testing. When the channel saturates and the team reassesses, the graph keeps that history.growth_campaign