Case study Analytics & Performance

Resolving 48% Unassigned Traffic in Multi-Market Analytics

Investigated and resolved a critical analytics issue where 48% of traffic was showing as 'unassigned' across 8 European markets, recovering accurate attribution and enabling data-driven decision making.

Explore the project
The project at a glance
Client
Nordic Auction Platform
Industry
Auction & Marketplace
Timeline
6 weeks
Project date
August 2024
Team
3 Senior Engineers (Analytics, Frontend, Backend)
48% → 1.8%Unassigned Traffic
60%Event Volume Reduction
100%Attribution Accuracy
8 MarketsSuccessfully Fixed

Reported project results · Specific to the original project scope. See results and context below.

The brief

Project overview

Google Analytics Investigation & Custom Event Optimization

This account is restored from Actinode’s original project portfolio. Results describe that project and are not a guarantee for another engagement. “Ready” or compliance-related terminology describes the stated project scope, not an independent certification.

Business context

A leading Swedish auction marketplace operating across 8 European markets was facing a critical analytics crisis:

  • 48% Unassigned Traffic: Nearly half of all website traffic was showing as 'unassigned' in Google Analytics, making it impossible to understand user behavior
  • Lost Marketing Attribution: Marketing spend across multiple channels couldn't be properly attributed, wasting significant advertising budget
  • Broken Decision Making: Product and business decisions were being made on incomplete and unreliable data
  • Multi-Market Complexity: Managing 8 separate Google Analytics properties for different markets through a single Google Tag Manager
  • Revenue Impact: Inability to track conversion funnels and optimize for best-performing traffic sources
  • Sudden Degradation: The issue appeared suddenly after a recent feature deployment, and internal team couldn't identify the root cause
  • Growing Worse: The unassigned traffic percentage was increasing daily, from 20% to 48% in just two weeks

Requirements and constraints

The client needed immediate investigation and resolution of the analytics issues:

  • Identify Root Cause: Thoroughly investigate and pinpoint why traffic attribution was failing
  • Restore Attribution: Get unassigned traffic below 2% industry standard threshold
  • Preserve Multi-Market Setup: Maintain their existing 8-market Google Analytics structure
  • No Data Loss: Ensure the fix doesn't impact other properly functioning analytics events
  • Future Prevention: Implement monitoring and safeguards to prevent similar issues
  • Quick Resolution: Complete investigation and fix within 6 weeks to minimize business impact
  • Documentation: Provide comprehensive documentation of findings and implementation

Original challenge

The client approached us in crisis mode. Their marketing team was essentially flying blind, unable to determine which channels were driving valuable traffic:

The Mystery:

  • Unassigned traffic had suddenly jumped from normal levels (~2%) to 48% of total sessions
  • The issue started appearing on a specific date, coinciding with a new feature launch
  • All 8 market domains were affected simultaneously
  • Other analytics events seemed to be working normally
  • Google Tag Manager configuration looked correct
  • Google Analytics properties were properly configured
  • Internal development team had spent 3 weeks investigating without finding the issue

Business Impact:

  • Marketing budget of €500K+/month was being allocated blindly without proper ROI data
  • Conversion optimization efforts were stalled due to unreliable funnel data
  • A/B testing and personalization strategies couldn't be properly evaluated
  • Board and stakeholders were losing confidence in data-driven decisions
  • Competitors were gaining advantage while they operated on incomplete data

Technical Complexity:

  • 8 separate domains with unique Google Analytics properties
  • All managed through a single Google Tag Manager container
  • React frontend with Node.js backend
  • Thousands of custom events tracked across user journey
  • Complex e-commerce tracking with multi-step auction flows
  • Heavy reliance on custom dimensions and metrics

The pressure was immense - every day without accurate analytics meant wasted marketing spend and missed optimization opportunities.

Solution and contribution

We executed a systematic investigation and resolution approach:

Phase 1: Pattern Analysis & Investigation (Weeks 1-2)

  • Conducted comprehensive audit of all Google Tag Manager configurations across 8 markets
  • Analyzed historical data patterns to identify exact date and time when unassigned traffic began increasing
  • Cross-referenced with deployment logs and discovered correlation with new "Item Impression Tracking" feature
  • Examined traffic by country, device type, browser, and session characteristics to identify patterns
  • Reviewed all custom events, their trigger conditions, and firing sequences
  • Discovered that the new custom event was accounting for 50%+ of all events fired

Phase 2: Reproduction & Root Cause Identification (Weeks 2-3)

  • Set up controlled testing environment with multiple browsers, devices, and platforms
  • Implemented detailed console logging to track exact event firing sequences
  • Discovered critical issue: The item impression event was firing BEFORE session initialization
  • Found that event firing order was inconsistent across browsers due to:
  • React component mounting timing variations
  • Async JavaScript execution differences
  • Google Analytics session creation delays
  • Identified that when custom events fire before session creation, Google Analytics cannot properly attribute the traffic source, resulting in "unassigned" classification

Key Discovery:

The item impression event was triggering immediately on page load (sometimes within 50-100ms), but Google Analytics session initialization could take 200-500ms depending on network conditions and browser state. This race condition meant the first (and most important) event was firing without proper session context.

Phase 3: Solution Implementation (Weeks 3-4)

  • Modified React codebase to ensure proper event sequencing:
  • Implemented event queue that waits for GA session initialization
  • Added explicit check for GA readiness before firing custom events
  • Created 'gtag.ready()' wrapper to guarantee session establishment
  • Enhanced item impression tracking with Intersection Observer API:
  • Changed from immediate firing on mount to visibility-based triggering
  • Only fires when item is actually visible in viewport (not just rendered)
  • Reduced unnecessary event volume by 60%
  • Improved data quality by tracking only genuine impressions
  • Implemented debouncing mechanism to prevent rapid-fire events during scrolling

Phase 4: Validation & Monitoring (Weeks 4-6)

  • Created dedicated Google Analytics property for isolated testing of the fixed implementation
  • Configured dual event sending (production property + test property) to validate fix without disrupting existing data
  • Monitored test property for 2 weeks with production traffic
  • Verified unassigned traffic dropped from 48% to under 2%
  • Implemented custom alerting in Google Tag Manager to catch future sequencing issues
  • Created comprehensive documentation and training for internal team

Actinode’s contribution

Our approach combined deep analytics expertise with systematic debugging methodology:

Systematic Investigation:

  • Started with data analysis before touching any code
  • Used historical patterns to narrow down the problematic deployment
  • Cross-platform testing revealed browser-specific timing variations
  • Detailed logging exposed the event sequencing race condition

Technical Implementation:

  • Event Queue System: Ensured GA session is ready before firing any custom events
  • Intersection Observer: Modern API for efficient, accurate visibility tracking
  • Debouncing: Prevented event spam during rapid user interactions
  • Dual Property Testing: Validated fix in production without risking existing data

Quality Assurance:

  • Tested across 8 different markets with varying traffic patterns
  • Validated on multiple browsers, devices, and network conditions
  • Monitored for edge cases and anomalies over extended period
  • Implemented automated alerts for future prevention

Knowledge Transfer:

  • Provided detailed technical documentation
  • Conducted training sessions for development and analytics teams
  • Created best practices guide for Google Analytics implementation
  • Established code review checklist for analytics-related changes

Technical capabilities

Event queue system ensuring proper GA session initialization

Intersection Observer API for accurate viewport visibility tracking

Debounced event firing preventing rapid-fire duplicates

Dual Google Analytics property setup for safe production testing

Custom GTM alerts for event sequencing anomalies

Cross-browser compatibility with consistent event timing

Reduced event volume by 60% while improving data quality

Comprehensive logging and debugging framework

The outcome

Results & business impact

  • Restored Marketing Attribution: All traffic sources now properly attributed, enabling accurate ROI calculation across €500K+ monthly ad spend

  • Recovered Decision-Making Confidence: Product and marketing teams can now trust analytics data for strategic decisions

  • Improved Data Quality: Intersection Observer reduced unnecessary events by 60%, focusing on genuine user impressions

  • Consistent Cross-Market Performance: All 8 European markets showing <2% unassigned traffic

  • Prevented Future Issues: Implemented monitoring and alerts to catch similar problems before they impact business

  • Enhanced Performance: Reduced event firing frequency improved page load time by ~150ms

  • Validated in Production: Dual property setup proved fix effectiveness without risking existing data

  • Knowledge Transfer Complete: Internal team trained and equipped to maintain proper analytics implementation

Interpret figures with the original scope and baseline above. Where the account does not specify a measurement window, sample or denominator, do not infer one; discuss the relevant evidence and comparable workload with us before using a result to estimate your project.

What this means for the business

Marketing Efficiency: Accurate attribution enables optimization of €500K+ monthly ad spend, estimated 25-30% improvement in ROAS

Data-Driven Decisions: Restored confidence in analytics allows product team to make informed decisions on feature prioritization

Competitive Advantage: Regained ability to quickly test, measure, and optimize against competitors

Revenue Protection: Prevented continued waste of marketing budget on misattributed or untracked traffic sources

Operational Efficiency: Reduced time spent investigating analytics discrepancies and questioning data accuracy

Stakeholder Confidence: Board and investors can trust reported metrics for business performance evaluation

Scalability: Proper event sequencing foundation supports future analytics enhancements without technical debt

Cross-Market Insights: Accurate data across all 8 markets enables comparative analysis and best practice sharing

Conclusion

The analytics crisis that threatened marketing effectiveness across 8 European markets was resolved through systematic investigation, modern web APIs, and careful production validation. By addressing the root cause (event sequencing race conditions), we restored high attribution accuracy and enabled the client to confidently invest in data-driven growth strategies.

Next steps in the original project account

Planned enhancements include server-side Google Analytics tracking for additional reliability, enhanced custom dimensions for auction-specific metrics, and machine learning models to predict user bid behavior based on the now-accurate analytics data.

Technology & expertise

  • React.js
  • Node.js
  • Google Analytics 4
  • Google Tag Manager
  • Intersection Observer API
  • JavaScript Event Queue
Explore the relevant industry

Further reading

Related engineering guides

Explore more case studies

Discuss a focused software engagement

Tell us the problem, users and constraints. We can discuss whether discovery, a first release or a system improvement is the right next step.

Discuss your project scope