Foundations 4 min read

What Is a Relay Pipeline? TUOCA's Automated Conversion Data Pipeline Explained

Last verified: 2026-11-07

A relay pipeline is the core automation unit in The Upload Offline Conversions App (TUOCA). It’s an automated data flow that connects a source (where your conversion data lives) to a destination (where your ad platform needs it), with transformation, filtering, and validation steps in between.

Think of a relay pipeline as a bridge between two systems that don’t natively talk to each other — your CRM and Google Ads, your call tracking tool and Meta, your field service software and Microsoft Ads.

The 6-Stage Pipeline

Every relay pipeline in TUOCA follows the same six-stage process:

Stage 1: Fetch

TUOCA connects to your data source API and pulls new records since the last run.

Sources include: CallRail, CallTrackingMetrics, ServiceTitan, Jobber, HubSpot, custom webhooks

Stage 2: Filter

The Filter Builder applies your rules to determine which records qualify for upload.

Example filters:

  • Only include calls tagged as “Qualified Lead”
  • Exclude records with conversion value < $100
  • Only include jobs with status “Completed”
  • Exclude test/internal records

Stage 3: Deduplicate

TUOCA checks each record against previously uploaded conversions to prevent double-counting.

Deduplication methods:

  • GCLID + conversion action (same click, same action = duplicate)
  • Order ID matching
  • Phone number + timestamp proximity

Stage 4: Transform

Data is transformed to match the destination platform’s requirements:

  • Timestamps converted to platform-specific format
  • Phone numbers normalized to E.164
  • Email addresses lowercased and trimmed
  • PII hashed with SHA-256
  • Conversion values mapped to the correct field

Stage 5: Upload

The processed, validated data is sent to the ad platform’s API:

  • Google requires the Data Manager API for a new offline or enhanced-conversion upload
  • Meta Conversions API
  • Microsoft Ads Offline Conversions API
  • TikTok Events API

Stage 6: Log

Every record’s outcome is logged in the Activity Logs:

  • ✅ Successfully uploaded
  • ❌ Rejected (with error code and details)
  • ⏭️ Skipped (filtered out or duplicate)
  • 🔄 Queued for retry

Pipeline Architecture

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   SOURCE    │───▶│    TUOCA    │───▶│ DESTINATION  │
│             │    │   RELAY     │    │              │
│ CallRail    │    │ ┌─────────┐ │    │ Google Ads   │
│ ServiceTitan│    │ │ Filter  │ │    │ Meta         │
│ Webhooks    │    │ │ Dedup   │ │    │ Microsoft    │
│ CRM        │    │ │Transform│ │    │ TikTok       │
│             │    │ │Validate │ │    │              │
└─────────────┘    │ │ Upload  │ │    └─────────────┘
                   │ │  Log    │ │
                   │ └─────────┘ │
                   └─────────────┘

Relay Types

TUOCA offers two types of relay pipelines:

Standard Relay (1 Source → 1 Destination)

Connects a single data source to a single ad platform:

CallRail → TUOCA → Google Ads

Use case: Phone call conversions from CallRail uploaded to Google Ads with the GCLID captured at call time.

Fusion Relay (2 Sources → 1 Destination)

Combines data from two sources, matches them on a shared identifier, and uploads the merged result:

CallRail (has GCLID + phone) ──┐
                                ├──▶ TUOCA ──▶ Google Ads
ServiceTitan (has phone + $$$) ─┘

Use case: CallRail provides the GCLID (which click generated the call), ServiceTitan provides the revenue (how much the resulting job was worth). TUOCA matches on phone number and uploads GCLID + revenue.

See What Is a Fusion Relay? for details.

Scheduling

Relay pipelines run on configurable schedules:

FrequencyBest ForRationale
HourlyEmergency services (plumbing, locksmith)Fast conversion cycles, maximize Smart Bidding freshness
Every 6 hoursHome services (HVAC, electrical)Balances data freshness with API efficiency
DailyMost service businessesStandard schedule, fresh daily data
WeeklyLong sales cycle businesses (B2B)Sufficient for slow conversion cycles

Schedule Considerations

  • Google Ads: Wait 6 hours after the click before you upload it: a click at 9:00 a.m. is too recent at noon and is ready at 3:00 p.m., and if you upload sooner the error asks you to try again in 12 hours. An hourly relay can still run. It should hold any click that is not yet 6 hours old.
  • Meta: Meta rejects a Conversions API request when the event happened more than 7 days before you send it, so a booking from Monday has to be uploaded by the next Monday, unless it is a physical-store sale, which Meta asks you to send within 62 days. Upload at least daily.

Relay Configuration

When creating a relay in TUOCA, you configure:

SettingDescription
SourceWhich data source to pull from
DestinationWhich ad platform to upload to
Conversion actionWhich conversion action to credit
Value fieldWhich source field maps to conversion value
ScheduleHow often the relay runs
FiltersWhich records to include/exclude
PII fieldsWhich fields contain email, phone, name for Enhanced Conversions

Error Handling

Relay pipelines handle errors at multiple levels:

Error LevelHandling
Source unavailableRetry with backoff; alert after 3 failures
Individual record rejectedLog the error; continue processing remaining records
Rate limit hitPause and resume after cooldown period
Authentication expiredAlert user to re-authenticate (OAuth token refresh)
All records failedPause relay; alert user; queue for next run

How Relay Pipelines Differ from Manual Uploads

FactorManual CSV UploadRelay Pipeline
FrequencyWhen you rememberAutomatic schedule
Data freshnessDays/weeks oldHours old
Error handlingManual reviewAutomatic retry
PII hashingManual or scriptedAutomatic
DeduplicationManual checkingAutomatic
Multi-platformUpload to each separatelyOne relay per destination
Time per cycle30-60 min per client0 minutes (automated)
ScalabilityBreaks at 5-10 clientsHandles 200+ clients

Getting Started

  1. Connect a data source — Authenticate your CallRail, CRM, or webhook endpoint
  2. Connect a destination — Authenticate your Google Ads, Meta, or Microsoft account
  3. Configure the relay — Map fields, set filters, choose schedule
  4. Test with dry run — Validate the pipeline without actually uploading
  5. Activate — The relay runs automatically from here

See Automated Relays for the full product walkthrough.

Frequently Asked Questions

A relay pipeline is an automated workflow that connects a data source (like CallRail or ServiceTitan) to an ad platform destination (like Google Ads or Meta). It runs on a schedule, fetching new conversion data, applying filters and transformations, deduplicating records, hashing PII, and uploading the processed data to the ad platform's API.

The number of relays depends on your TUOCA tier. Free: 1 relay (manual only). Solo: 3 active relays. Pro: 15 active relays. Agency: Unlimited relays. Each relay connects one source to one destination — multiple relays can share the same source or destination.

Relay schedules are configurable: hourly, every 6 hours, daily, or weekly. The optimal frequency depends on your business type — emergency services benefit from hourly uploads, while businesses with longer sales cycles may use daily or weekly schedules.

TUOCA automatically retries failed uploads with exponential backoff. If the failure persists, the relay is paused and an alert is sent. The Activity Logs show detailed error information for each record, allowing you to diagnose issues. Failed records are queued for the next run.

Stop Guessing. Start Proving ROI.

TUOCA connects your CRM and call tracking data directly to your ad platforms. Set up in minutes.