How to Set Up Hyros for Multi-Channel
I audit about 15-20 attribution setups per quarter, and Hyros consistently shows up in accounts running complex multi-channel funnels. The tool’s strength is its call tracking integration and long-funnel attribution, but the setup is where most people screw it up. Specifically, the URL parameter passthrough — I’d say 60% of Hyros implementations I see are missing critical attribution data because someone skipped the platform-specific parameter mapping.
What You’ll Have Working By The End
- Hyros universal tracking script firing on all funnel pages with proper parameter capture
- Direct integrations with your ad platforms (Facebook, Google, TikTok, etc.) via CAPI
- Call tracking attribution connecting phone conversions back to original ad source
- URL parameter passthrough capturing UTM tags plus platform-specific parameters
- Cross-channel attribution reports showing the complete customer journey
Prerequisites
- Admin access to Hyros account (Business plan minimum for CAPI integrations)
- Access to your website’s header/footer or GTM container
- Admin access to all ad platforms you want to track (Facebook Business Manager, Google Ads, etc.)
- List of all landing pages and conversion pages in your funnel
- Call tracking phone numbers if you’re tracking phone conversions
Step 1: Install the Hyros Universal Script
First, grab your universal tracking script from Hyros. In your Hyros dashboard, go to Integrations → Universal Script and copy the code.
The script needs to fire on every page of your funnel — landing pages, checkout, thank you pages, everything. Most people install it in the site header, but if you’re using GTM (which I recommend), create a new tag:
- Tag Type: Custom HTML
- HTML: Paste your Hyros universal script
- Trigger: All Pages
The script automatically captures standard UTM parameters, but you need to configure it for platform-specific parameters. Here’s the enhanced version that captures the parameters I see mattering most for attribution:
<!-- Hyros Universal Script with Enhanced Parameter Capture -->
<script>
!function(h,y,r,o,s){
// Standard Hyros script code here (use your actual script from dashboard)
// Enhanced parameter capture
function getUrlParams() {
const params = new URLSearchParams(window.location.search);
const hyrosParams = {};
// Standard UTM parameters
['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'].forEach(param => {
if (params.get(param)) hyrosParams[param] = params.get(param);
});
// Platform-specific parameters
const platformParams = {
'fbclid': 'facebook_click_id',
'gclid': 'google_click_id',
'ttclid': 'tiktok_click_id',
'msclkid': 'microsoft_click_id',
'twclid': 'twitter_click_id'
};
Object.keys(platformParams).forEach(param => {
if (params.get(param)) hyrosParams[platformParams[param]] = params.get(param);
});
return hyrosParams;
}
// Pass parameters to Hyros
if (typeof hyros !== 'undefined') {
const urlParams = getUrlParams();
Object.keys(urlParams).forEach(key => {
hyros.setData(key, urlParams[key]);
});
}
}();
</script>
Critical: The enhanced parameter capture is essential. I see setups losing 20-30% of attribution accuracy because they’re only capturing UTM tags and missing platform click IDs.
Step 2: Configure Platform CAPI Integrations
Hyros’ server-side integration is what makes it actually useful for attribution. Without CAPI connections, you’re just getting client-side data that’s missing 15-25% of users due to iOS ATT and ad blockers.
Facebook CAPI Setup
In Hyros dashboard, go to Integrations → Facebook and click “Connect Account.” You’ll need:
- Facebook Business Manager admin access
- The Facebook App ID for your pixel
- Access token with proper permissions
The integration setup wizard will walk you through OAuth, but verify these events are mapped correctly in the Event Mapping section:
- PageView → ViewContent
- Lead → Lead
- Purchase → Purchase
- AddToCart → AddToCart
Important: Set your attribution window to match Facebook’s settings (default is 7-day view, 1-day click). Mismatched attribution windows are the #1 reason for reporting discrepancies.
Google Ads Enhanced Conversions
For Google, you’ll configure Enhanced Conversions rather than traditional CAPI. In Hyros:
- Go to Integrations → Google Ads
- Connect your Google Ads account via OAuth
- Map your Hyros conversion events to Google conversion actions
- Enable Enhanced Conversions data sharing
The key configuration is in Settings → Enhanced Conversions where you map customer data fields:
// Example customer data mapping for Enhanced Conversions
{
"email": "user_email_hash", // SHA-256 hashed
"phone": "user_phone_hash", // SHA-256 hashed
"first_name": "user_first_name",
"last_name": "user_last_name",
"address": "user_address"
}
TikTok Events API
TikTok’s integration is newer but critical for accounts spending on TikTok ads. In Integrations → TikTok:
- Connect your TikTok Business Center account
- Select your pixel ID
- Map events (CompletePayment, SubmitForm, ViewContent)
- Test the connection with TikTok Events Manager
Step 3: Set Up Call Tracking Attribution
This is where Hyros shines compared to other attribution tools. The call tracking integration connects phone conversions back to the original ad source.
Call Tracking Integration
In Integrations → Call Tracking, you can connect with:
- CallRail
- CallTrackingMetrics
- DialogTech
- WhatConverts
I recommend CallRail for most setups — the integration is cleanest and most reliable. Once connected:
- Dynamic Number Insertion: Configure your call tracking to dynamically insert phone numbers based on traffic source
- Webhook Setup: Point your call tracking webhooks to Hyros’ endpoint (found in Integration settings)
- Attribution Mapping: Map call outcomes (answered, voicemail, busy) to conversion values
Call Attribution Configuration
Critical setting: Attribution Lookback Window. Set this to match your sales cycle. For most B2B funnels, I use 30 days. For e-commerce, 7 days is usually sufficient.
The webhook payload should include:
- Original traffic source (captured from URL parameters)
- Call duration
- Call outcome
- Caller phone number (hashed for privacy)
- Timestamp
Step 4: Configure URL Parameter Passthrough
This step trips up more people than anything else. You need to ensure attribution parameters persist across your entire funnel — landing page to checkout to thank you page.
Landing Page Configuration
On your landing pages, capture and store attribution parameters in hidden form fields or session storage:
// Store attribution data for funnel passthrough
function storeAttributionData() {
const params = new URLSearchParams(window.location.search);
const attributionData = {};
// Capture all UTM parameters
['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'].forEach(param => {
const value = params.get(param);
if (value) {
attributionData[param] = value;
sessionStorage.setItem(param, value);
}
});
// Capture platform click IDs
['fbclid', 'gclid', 'ttclid', 'msclkid'].forEach(param => {
const value = params.get(param);
if (value) {
attributionData[param] = value;
sessionStorage.setItem(param, value);
}
});
return attributionData;
}
// Run on page load
document.addEventListener('DOMContentLoaded', storeAttributionData);
Form Configuration
Add hidden fields to your lead forms and checkout forms:
<!-- Hidden attribution fields -->
<input type="hidden" id="utm_source" name="utm_source" value="">
<input type="hidden" id="utm_medium" name="utm_medium" value="">
<input type="hidden" id="utm_campaign" name="utm_campaign" value="">
<input type="hidden" id="fbclid" name="fbclid" value="">
<input type="hidden" id="gclid" name="gclid" value="">
<script>
// Populate hidden fields with stored attribution data
['utm_source', 'utm_medium', 'utm_campaign', 'fbclid', 'gclid'].forEach(param => {
const field = document.getElementById(param);
const value = sessionStorage.getItem(param);
if (field && value) {
field.value = value;
}
});
</script>
Cross-Domain Tracking
If your funnel spans multiple domains (landing page → checkout on different domain), you need cross-domain parameter passing:
// Append attribution parameters to cross-domain links
function appendAttributionParams(url) {
const params = new URLSearchParams();
['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'fbclid', 'gclid'].forEach(param => {
const value = sessionStorage.getItem(param);
if (value) params.append(param, value);
});
const separator = url.includes('?') ? '&' : '?';
return url + separator + params.toString();
}
// Apply to checkout links
document.querySelectorAll('a[href*="checkout"]').forEach(link => {
link.href = appendAttributionParams(link.href);
});
Step 5: Event Tracking Configuration
Configure conversion events that match your funnel stages. In Events → Event Mapping:
Standard E-commerce Events
- lead_generated: Form submissions, email signups
- add_to_cart: Product added to cart
- checkout_initiated: Checkout page loaded
- purchase_completed: Order confirmed
Custom Events for Complex Funnels
- webinar_registered: Webinar signup
- consultation_booked: Calendar booking
- proposal_sent: Sales-qualified lead
- contract_signed: Won deal
Each event needs proper revenue attribution. For lead generation funnels, assign average customer value to lead events. For e-commerce, pass actual order values.
// Example event firing with proper attribution
hyros.trackEvent('purchase_completed', {
value: 149.99,
currency: 'USD',
order_id: 'ORDER_12345',
utm_source: sessionStorage.getItem('utm_source'),
utm_campaign: sessionStorage.getItem('utm_campaign')
});
Testing & Verification
Hyros Debug Mode
Enable debug mode in Settings → Debug Mode to see real-time event firing. Test your entire funnel:
- Visit a landing page with UTM parameters
- Submit a form (should see lead_generated event)
- Complete a purchase (should see purchase_completed event)
- Verify attribution data is captured correctly
Platform Verification
Check that events are appearing in ad platform reporting:
- Facebook: Events Manager → Data Sources → Your Pixel
- Google: Google Ads → Tools → Conversions
- TikTok: TikTok Ads Manager → Events
Expected Timeline: Events typically appear in Hyros within 2-5 minutes, and in ad platforms within 15-30 minutes.
Attribution Report Verification
In Reports → Attribution, verify:
- Traffic sources are properly categorized
- Conversion attribution matches expected patterns
- Revenue attribution totals are reasonable
Acceptable Variance: Expect 5-15% variance between Hyros and ad platform native reporting. Hyros typically shows 10-20% more conversions due to better cross-device tracking and view-through attribution.
Call Tracking Verification
Test call attribution by:
- Visiting your site with UTM parameters
- Calling the displayed phone number
- Checking Reports → Call Attribution for the conversion
- Verifying the original traffic source is properly attributed
Troubleshooting
Problem: Events firing in Hyros debug mode but not appearing in Facebook Events Manager
→ Check your Facebook CAPI connection in Integrations → Facebook. Verify the access token has proper permissions (ads_management, business_management). Regenerate the token if it’s older than 60 days.
Problem: Attribution showing “Direct” for traffic that should be attributed to paid ads
→ URL parameter passthrough is broken. Check that fbclid/gclid parameters are being captured and stored correctly. Verify cross-domain parameter passing if your funnel spans multiple domains.
Problem: Call conversions not attributing to original ad source
→ Dynamic number insertion isn’t working properly. Verify your call tracking integration webhook is hitting Hyros’ endpoint correctly. Check Settings → Call Attribution for proper source mapping.
Problem: Hyros showing significantly different conversion counts than ad platforms
→ Attribution window mismatch. Check Settings → Attribution Windows and align with your ad platform settings. Facebook defaults to 7-day view/1-day click. Google Ads varies by conversion action.
Problem: Events firing multiple times for single conversions
→ Script is installed multiple times or firing on page refresh. Check for duplicate Hyros scripts in your GTM container or website header. Implement event deduplication using order IDs or form submission IDs.
Problem: Cross-device attribution not working properly
→ Enhanced Conversions/CAPI isn’t configured correctly. Verify customer data (email, phone) is being hashed and passed to Hyros properly. Check Integrations → Enhanced Conversions for proper field mapping.
What To Do Next
Ready to get your attribution dialed in? Here are your next steps:
- Attribution Setup Services — I’ll set up Hyros + your full tech stack for you
- Attribution Tools Comparison — Compare Hyros to Triple Whale, Northbeam, and other attribution solutions
- Free Tracking Audit — I’ll audit your current setup and show you exactly what’s broken
This guide is part of the Attribution Tools Hub — comparing and configuring attribution solutions for multi-channel marketing funnels.