How-To Guide 3 min read

How to Automate Offline Conversion Uploads

Stop manually uploading CSV files. Learn how to automate offline conversion uploads across Google Ads, Meta, Microsoft Ads, and TikTok using The Upload Offline Conversions App's relay pipeline.

Last verified: 2026-11-07

Manual CSV uploads worked to prove the concept. Now it’s time to automate. This guide explains how to transition from manual offline conversion uploads to fully automated pipelines using TUOCA’s relay system.

The Problem with Manual Uploads

FactorManualAutomated
Time per upload30-60 min0 min
Error rateHigh (formatting, duplicates)Near zero
FrequencyWeekly/monthlyHourly/daily
ScalabilityBreaks at 5+ clients200+ clients
Multi-platformRepeat for each platformOne config per platform
ConsistencyDepends on personAlways runs on schedule
Data freshnessDays/weeks oldHours old

The Math

20 clients × 2 platforms × 30 min/upload × 4 uploads/month
= 4,800 minutes = 80 hours/month = 1/2 full-time employee

With TUOCA: 0 hours/month after initial setup.

Setting Up Automated Uploads

Step 1: Connect Your Data Sources

In TUOCA, connect each data source you use:

Data SourceAuth MethodData Available
CallRailAPI keyCalls, GCLIDs, phone, tags
CallTrackingMetricsAPI keyCalls, GCLIDs, phone, scores
ServiceTitanAPI key + tenantJobs, invoices, revenue
JobberOAuthJobs, invoices, revenue
HubSpotOAuthDeals, contacts, lifecycle
WebhooksURL endpointAny custom data

Step 2: Connect Your Destinations

Connect each ad platform:

DestinationAuth MethodUpload Type
Google AdsOAuthData Manager API for offline and enhanced conversions
MetaOAuthConversions API (CAPI)
Microsoft AdsOAuthBing Ads API
TikTokAccess tokenEvents API

Step 3: Create Relay Pipelines

For each source → destination combination, create a relay:

Relay 1: CallRail → Google Ads (phone call conversions)
Relay 2: CallRail → Meta (phone call conversions)
Relay 3: CallRail + ServiceTitan → Google Ads (Fusion: calls + revenue)
Relay 4: HubSpot → Microsoft Ads (deal conversions)

Step 4: Configure Filters

Use the Filter Builder to control which records upload:

  • Call duration > 60 seconds
  • Call tag = “Qualified Lead”
  • Job status = “Completed”
  • Deal stage = “Closed Won”
  • Conversion value > $0

Step 5: Set Schedules

FrequencyBest For
HourlyEmergency services, high-volume
Every 6 hoursStandard service businesses
DailyMost businesses (recommended start)
WeeklyLow-volume, long sales cycles

Step 6: Activate and Monitor

  • Turn on each relay
  • Check Activity Logs after the first run
  • Verify conversions appear in ad platform reports
  • Set up alerts for failures

Monitoring Automated Uploads

Daily Checks (First Week)

  • ✅ Are relays running on schedule?
  • ✅ Which rows failed, and can you correct them? There is no published success-rate target. A click-not-found on a lead that never clicked a Google ad is expected.
  • ✅ Are conversions appearing in platform reports?
  • ✅ Any recurring errors?

Weekly Checks (Ongoing)

  • ✅ Upload volume trending correctly?
  • ✅ Match rates stable? (For Enhanced Conversions)
  • ✅ Any new error patterns?
  • ✅ Conversion lag within expectations?

Monthly Review

  • ✅ Compare uploaded conversions vs. CRM records
  • ✅ Review ROAS trends
  • ✅ Optimize filters based on data quality
  • ✅ Adjust schedules if needed

From Manual to Automated: Migration Checklist

  1. ✅ Stop manual uploads (after activating automation)
  2. ✅ Don’t run both — duplicates will occur
  3. ✅ Verify the first automated batch matches what you’d have uploaded manually
  4. ✅ Set up alerts for relay failures
  5. ✅ Document the configuration for team members
  6. ✅ Monitor for 2 weeks before trusting fully

Next Steps

  1. ✅ Connect your data sources in TUOCA
  2. ✅ Connect your ad platform destinations
  3. ✅ Create relays with appropriate filters
  4. ✅ Set daily schedules
  5. ✅ Activate and monitor the first week
  6. ✅ Read about Automated Relays and Activity Logs

Frequently Asked Questions

Manual CSV uploads are error-prone, time-consuming, and don't scale. They require someone to export data, format it correctly, upload to each platform, and check for errors — per client, per platform, per week. At 30 minutes per upload, an agency with 20 clients and 2 platforms spends 20+ hours per week on data entry alone.

TUOCA connects to your data sources (CallRail, ServiceTitan, CRM) via API, fetches new conversion data on a schedule, transforms and validates the data, hashes PII, and uploads to your ad platforms (Google, Meta, Microsoft, TikTok) — all automatically, with no manual intervention required.

TUOCA retries failed records with exponential backoff. If failures persist, the relay is paused and you receive an alert. The Activity Logs show detailed error information for every record. Failed records are queued for the next scheduled run.

Stop Guessing. Start Proving ROI.

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