← Retour au lexique
🚀 Marketing Digital

Reach

Nombre total de personnes uniques exposées à un contenu, une campagne ou un message sur une période donnée.

Définition

Le reach (portée en français) mesure le nombre total de personnes uniques qui ont été exposées à un contenu, une campagne publicitaire ou un message marketing sur une période déterminée. Contrairement aux impressions qui comptent chaque exposition, le reach ne compte chaque personne qu’une seule fois, même si elle a vu le contenu plusieurs fois.

Types de reach

Organic reach

// Portée organique exemple
const organicReach = {
    facebook_post: {
        followers: 10000,
        organic_reach: 1200,    // 12% des followers
        engagement_rate: 4.5,   // 54 interactions
        reach_decline: 'Ongoing since 2018'
    },
    
    seo_content: {
        monthly_users: 45000,
        unique_visitors: 32000, // Reach SEO
        pages_per_user: 2.1,
        return_visitors: 40     // Frequency
    }
};
# Campagne publicitaire reach
def calculate_paid_reach(campaign_data):
    total_budget = 5000
    target_cpm = 8.50  # Cost per mille (1000 impressions)
    
    estimated_impressions = (total_budget / target_cpm) * 1000
    # 588,235 impressions
    
    frequency = 3.2  # Exposition moyenne par personne
    unique_reach = estimated_impressions / frequency
    # 183,823 personnes uniques touchées
    
    return {
        'impressions': estimated_impressions,
        'unique_reach': int(unique_reach),
        'frequency': frequency,
        'cpr': total_budget / unique_reach  # Cost per reach
    }

Mesure du reach

Platforms sociales

Reach par plateforme :
├── Facebook : Insights natifs
├── Instagram : Business metrics
├── LinkedIn : Campaign Manager
├── Twitter : Analytics dashboard
├── TikTok : Pro Analytics
└── YouTube : YouTube Analytics

SEO reach calculation

# Portée SEO estimée
def estimate_seo_reach(keywords_data):
    total_reach = 0
    
    for keyword in keywords_data:
        # Volume recherche mensuel
        search_volume = keyword['volume']
        
        # Position actuelle
        position = keyword['position']
        
        # CTR selon position
        ctr_rates = {1: 0.284, 2: 0.152, 3: 0.103, 4: 0.073, 5: 0.055}
        ctr = ctr_rates.get(position, 0.02)
        
        # Reach estimé pour ce keyword
        keyword_reach = search_volume * ctr
        total_reach += keyword_reach
    
    return {
        'monthly_reach': int(total_reach),
        'unique_users': int(total_reach * 0.7),  # Déduplication
        'opportunity': calculate_position_1_potential(keywords_data)
    }

Reach vs autres métriques

Reach vs Impressions

Comparaison :
Post Facebook viral :
├── Impressions : 250,000
├── Reach : 75,000 personnes uniques
├── Frequency : 3.33 (250k/75k)
└── Insight : Forte rediffusion

Post standard :
├── Impressions : 15,000  
├── Reach : 12,000 personnes uniques
├── Frequency : 1.25
└── Insight : Faible viralité

Reach vs Engagement

# Analyse reach vs engagement
def analyze_reach_engagement(posts):
    analysis = []
    
    for post in posts:
        engagement_rate = (post.likes + post.comments + post.shares) / post.reach
        
        analysis.append({
            'post_id': post.id,
            'reach': post.reach,
            'engagement_rate': engagement_rate,
            'quality_score': calculate_quality_score(post.reach, engagement_rate)
        })
    
    # Posts haute qualité : reach modéré + engagement élevé
    # Posts spam : reach élevé + engagement faible
    return sorted(analysis, key=lambda x: x['quality_score'], reverse=True)

Optimisation du reach

Stratégies organiques

<!-- Optimisation reach organique -->
<article class="shareable-content">
  <header>
    <h1>Titre accrocheur et viral</h1>
    <meta property="og:title" content="Titre optimisé partage">
    <meta property="og:description" content="Description engageante">
    <meta property="og:image" content="image-attractive.jpg">
  </header>
  
  <div class="social-triggers">
    <p>Contenu émotionnel qui incite au partage</p>
    <blockquote>Citation mémorable</blockquote>
  </div>
  
  <footer class="share-buttons">
    <button onclick="shareOnSocial('facebook')">Partager</button>
    <button onclick="shareOnSocial('twitter')">Tweeter</button>
  </footer>
</article>

Timing optimal

// Optimisation timing pour reach
const optimalTiming = {
    facebook: {
        best_days: ['Tuesday', 'Wednesday', 'Thursday'],
        best_hours: ['13:00-16:00', '19:00-21:00'],
        audience_activity: 'Check Insights for specific audience'
    },
    
    linkedin: {
        best_days: ['Tuesday', 'Wednesday', 'Thursday'],
        best_hours: ['08:00-10:00', '17:00-18:00'],
        b2b_focus: 'Business hours perform better'
    },
    
    instagram: {
        best_days: ['Wednesday', 'Thursday', 'Friday'],
        best_hours: ['11:00-13:00', '17:00-19:00'],
        visual_content: 'High-quality images/videos essential'
    }
};

Reach dans le funnel

Top of funnel

Awareness stage :
├── Objectif : Maximum reach
├── Targeting : Large audiences
├── Content : Educational, entertaining
├── KPI : CPM, reach, brand awareness lift
└── Budget : 60% allocation

Middle/Bottom funnel

# Reach qualifié vs large
def qualified_vs_broad_reach():
    return {
        'broad_reach_campaign': {
            'audience_size': 2000000,
            'expected_reach': 400000,  # 20%
            'cpm': 5.20,
            'relevance_score': 6.2,
            'conversion_rate': 0.8
        },
        
        'qualified_reach_campaign': {
            'audience_size': 250000,
            'expected_reach': 125000,  # 50%
            'cpm': 12.40,
            'relevance_score': 8.7,
            'conversion_rate': 3.2
        }
    }

Attribution et reach

Cross-platform reach

// Déduplication reach multi-plateformes
function calculateCrossPlatformReach(platforms) {
    const totalReach = platforms.reduce((sum, platform) => 
        sum + platform.unique_reach, 0);
    
    // Estimation overlap (simplifiée)
    const estimatedOverlap = totalReach * 0.25; // 25% overlap moyen
    const deduplicatedReach = totalReach - estimatedOverlap;
    
    return {
        total_gross_reach: totalReach,
        estimated_overlap: estimatedOverlap,
        net_unique_reach: deduplicatedReach,
        frequency: totalReach / deduplicatedReach
    };
}

Lift studies

# Mesure impact reach sur brand awareness
def brand_lift_study(campaign_reach, control_group):
    # Test/Control methodology
    exposed_group = campaign_reach['exposed_users']
    control_group = campaign_reach['control_users']
    
    brand_awareness_lift = {
        'exposed_awareness': 0.47,      # 47% se souviennent
        'control_awareness': 0.31,      # 31% baseline
        'absolute_lift': 0.16,          # +16 points
        'relative_lift': 0.516,         # +51.6%
        'statistical_significance': 0.95
    }
    
    return brand_awareness_lift

Reach premium vs mass

Audience qualifiée

Stratégie reach premium :
├── Targeting précis : Demographics + intérêts + comportements
├── Lookalike audiences : Similarité clients existants
├── Custom audiences : Base CRM/email
├── Retargeting : Visiteurs site web
└── ROI : CPM élevé mais conversion supérieure

Mass market

Stratégie reach maximum :
├── Targeting large : Geo + âge basique
├── Automatic placements : All Facebook placements
├── Budget optimization : Campaign Budget Optimization
├── Bid strategy : Lowest cost
└── Objectif : Notoriété, viral potential

Reach dans le reporting

Dashboard reach

<!-- KPIs reach essentiels -->
<div class="reach-dashboard">
  <div class="metric">
    <h3>Reach Total</h3>
    <span class="value">2.3M</span>
    <span class="period">30 jours</span>
  </div>
  
  <div class="metric">
    <h3>Reach Unique</h3>
    <span class="value">1.8M</span>
    <span class="dedup">-22% overlap</span>
  </div>
  
  <div class="metric">
    <h3>Frequency</h3>
    <span class="value">2.7</span>
    <span class="optimal">Optimal: 3-5</span>
  </div>
</div>

Le reach reste une métrique fondamentale pour évaluer l’ampleur d’une campagne ou d’une stratégie de contenu, à analyser en combinaison avec l’engagement et les conversions.