Cross-Device User Journey Tracking in Travel & Tourism

Learn how travel companies use Hardal to understand customer journeys across mobile, tablet, and desktop devices.

BG
Barış Gürbüzler
CEO
Use Case
28.03.2025

import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Cell } from 'recharts'; import { useState } from 'react';

export const CaseStudyChart = () => { const [activeIndex, setActiveIndex] = useState(null);

const data = [ { name: 'Desktop Bookings via Mobile', value: 68, description: "of desktop bookings were discovered to have started with mobile research" }, { name: 'Customer Journey Visibility', value: 100, description: "visibility into the customer journey across all devices" }, { name: 'ROI Improvement', value: 36, description: "improved ROI with new cross-device insights" }, { name: 'Booking Conversions', value: 23, description: "increase in booking conversions with the same ad spend" } ];

const colors = ['#4ade80', '#3b82f6', '#f97316', '#8b5cf6'];

const handleMouseOver = (data, index) => { setActiveIndex(index); };

const handleMouseLeave = () => { setActiveIndex(null); };

const CustomTooltip = ({ active, payload }) => { if (active && payload && payload.length) { return (

{${payload[0].payload.name}: ${payload[0].value}%}

{payload[0].payload.description}

); } return null; };

return (

Real-World Example

A popular hotel booking platform was struggling to understand its marketing effectiveness. Its data showed that mobile ads weren't converting, but it suspected mobile users were actually booking later on desktop.

  <div className="h-80 w-full">
    <ResponsiveContainer width="100%" height="100%">
      <BarChart
        data={data}
        margin={{ top: 20, right: 30, left: 20, bottom: 60 }}
        barSize={60}
      >
        <CartesianGrid strokeDasharray="3 3" vertical={false} stroke="#e5e7eb" />
        <XAxis 
          dataKey="name" 
          angle={-45}
          textAnchor="end"
          height={80}
          tick={{ fill: 'currentColor', fontSize: 12 }}
          className="text-gray-600 dark:text-gray-400"
        />
        <YAxis 
          unit="%" 
          tick={{ fill: 'currentColor' }}
          className="text-gray-600 dark:text-gray-400"
        />
        <Tooltip content={<CustomTooltip />} />
        <Bar 
          dataKey="value" 
          radius={[4, 4, 0, 0]}
          onMouseOver={handleMouseOver}
          onMouseLeave={handleMouseLeave}
        >
          {data.map((entry, index) => (
            <Cell 
              key={`cell-${index}`} 
              fill={colors[index % colors.length]}
              opacity={activeIndex === null || activeIndex === index ? 1 : 0.6}
              className="transition-opacity duration-300"
            />
          ))}
        </Bar>
      </BarChart>
    </ResponsiveContainer>
  </div>

  <div className="mt-6 grid grid-cols-2 sm:grid-cols-4 gap-3">
    {data.map((item, index) => (
      <div 
        key={index}
        className={`p-3 rounded-lg border-l-4 transition-all cursor-pointer ${
          activeIndex === index ? 'bg-gray-100 dark:bg-gray-800 shadow-md' : 'bg-gray-50 dark:bg-gray-800/50'
        }`}
        style={{ borderLeftColor: colors[index % colors.length] }}
        onMouseEnter={() => setActiveIndex(index)}
        onMouseLeave={() => setActiveIndex(null)}
      >
        <p className="font-bold text-xl text-gray-900 dark:text-white">{item.value}%</p>
        <p className="text-gray-600 dark:text-gray-400 text-sm">{item.description}</p>
      </div>
    ))}
  </div>
</div>

); };

The Problem

Travel companies struggle to see the complete customer journey when travelers switch between devices. A traveler might research flights on their phone during lunch break, compare hotels on their tablet in the evening, and finally book on their laptop the next day. With traditional tracking methods, each of these interactions looks like a different customer.

Industry Challenges

  • Travelers often use 3+ devices before making a booking
  • Traditional cookies don't connect these separate device sessions
  • ITP and privacy changes in browsers block many tracking methods
  • Marketing teams can't see which campaigns actually led to bookings
  • Ad spending gets wasted on channels that seem ineffective

How Hardal Helps

Hardal provides travel companies with a server-side solution that maintains consistent tracking across devices:

  • First-party data: All user data is collected under your own domain, avoiding third-party cookie limitations
  • Server-side tagging: Tracking happens on your servers, not in the user's browser, bypassing ad blockers and privacy restrictions
  • Persistent user identification: Maintain consistent user identity when travelers log in on different devices
  • Cross-device attribution: Connect the dots between marketing touchpoints across multiple devices

Key Metrics Improved

  • Attribution accuracy: See which marketing channels truly influence bookings
  • Cross-device conversion rate: Understand how users move between devices before converting
  • Marketing ROI: Allocate budget to channels that initiate journeys, not just close them
  • Customer journey insights: Identify which content and features matter at each device stage

Getting Started

With Hardal, companies can typically implement cross-device tracking in a week without disrupting the current website or app experience. Our team provides implementation support and custom configuration for travel industry tracking needs.

Unlike complex DIY setups, Hardal offers a managed solution that doesn't require deep technical expertise or ongoing maintenance from your team.