A channel connection
This is one of your accounts at one vendor: whether it's syncing, what it has pulled, and the daily numbers behind it.
Everything here belongs to that single vendor account. If you connected two accounts at the same vendor, each has its own page, its own schedule and its own numbers.
The header
Under the account's name you'll find the vendor, the vendor's ID for the account, and:
Time zone
The header states it plainly, and the campaign and metrics tables repeat it: "Dates are shown in the connection's timezone."
Every date here — the day a cost, click or impression belongs to — is counted in the vendor account's timezone. Not yours, not UTC, and Routy never converts it.
That's deliberate. The vendor totalled that day against its own day boundary; relabelling it in your timezone would split one vendor day across two of yours and change what the number means. Leaving it alone means these numbers line up exactly with the vendor's own dashboard.
The practical consequence: if the account is on Los Angeles time and you aren't, "27 July" here covers a window that straddles two of your days. Compared against your revenue reports, the edges of a day will disagree; the middle of a range will agree fine.
Credentials rejected
If the vendor has stopped accepting the credentials behind this connection, a red banner sits above everything else: "Your credentials were rejected. Re-enter them to resume syncing."
Nothing syncs until you fix it, so fix it first — the rest of the screen is showing you history, not live data.
Re-enter credentials opens the same panel you used to connect:
- For a vendor that uses a key or token, you type the corrected credentials. They're checked with the vendor before anything is saved.
- For a vendor you sign in to, there's no form — you sign in at the vendor again and come straight back.
Either way the connection keeps its history, its campaigns and everything already pulled, and syncing resumes on the next run. You never need to disconnect and reconnect to fix this.
One warning worth reading: if you submit credentials for a different account at that vendor, they're accepted — but they're saved separately and this connection is still broken. The panel says so: "These are for a different account." Use credentials belonging to the account named in the panel.
Actions
On a phone the same actions live behind the ⋮ button next to Sync now.
You don't need to Sync now after a partial run. Missing dates are re-requested automatically.
Sync schedule
Two settings: whether scheduled syncing is on at all, and how many minutes between runs.
Each vendor has a minimum interval. Ask for something faster and Routy raises it to that minimum rather than getting you rate-limited — the drawer warns you before you save, and if it happens it stays open showing the interval that's actually running. Vendors don't update their reporting every minute anyway; a few hours is normal, and a longer interval is often more reliable because it's less likely to hit a throttle.
Turning the schedule off leaves the connection in place; you can still use Sync now.
Sync history
Every run, newest first. Each row shows when it Started, its Result, any Message from the vendor, the Dates covered, how many Campaigns seen, how many Rows written, and its Trigger — Manual or Scheduled.
A run whose result Routy doesn't recognise shows the vendor's own message instead of a label. That's not an error state; it just means nothing better can honestly be said about it.
Use Show more to load older runs, and Refresh to re-read the list.
Partial is not a failure
Partial — some dates pending means what it says: of the days in that run's range, some came back and some didn't — usually because the vendor was rate-limiting us partway through. The days that came back are saved; the days that didn't go back in the queue and are asked for again on the next run. The row spells it out: "Some dates did not land. They are requested again on the next run; nothing is lost."
Nothing is lost, nothing is double-counted, and nobody has to do anything. On a busy account you'll see it regularly, and it clears itself. Only a persistent one — the same dates still missing after several runs — is worth escalating.
Campaigns
Everything with numbers against it in this vendor account. What that is depends on the vendor: campaigns, ad groups, zones, lists, flows, segments — Routy shows the vendor's own word for it under Type.
Each row shows the name (with its parent underneath, where it has one), the type, the Vendor ID, a Status, who Reported by it, and when it was Last seen. Metrics on the row jumps to the metrics table with that campaign already selected.
Two things worth knowing:
- Account-level is not a broken campaign. It's a row holding costs that belong to no campaign — subscription fees, platform fees, minimum-spend true-ups — labelled so you don't mistake it for a campaign that's mysteriously spending.
- Reported by may differ from the connection's own vendor. If you connected a tracker that reports several vendors, its campaigns carry the vendor they actually came from. The Reported by filter narrows the list to one of them, and All sources clears it.
There's no search or sorting here on purpose: the list is loaded a page at a time, so either one would quietly hide the rows that haven't loaded yet. Use Show more to load further pages.
Metrics
The daily numbers, one row per campaign per day, for the date range you pick.
Date range
Defaults to the last seven days, and you can't pick a range that ends in the future. Remember the dates are in the connection's timezone, restated above the table.
Keep the range tight when you're just checking something — a wide range across many campaigns is a lot of rows.
Columns
Two kinds of column sit side by side.
The five Routy always shows, so vendors can be compared with each other: Cost, Exposures (who saw it), Engagements (who acted), Outcomes and Outcome value (what came back).
Whatever else this vendor reports — clicks, impressions, sends, click-through rate, and anything vendor-specific. These differ per vendor and can even differ between two accounts at the same vendor, so the set is discovered from your own data rather than fixed in advance.
A column with a small sparkle icon was discovered automatically — its label hasn't been reviewed by anyone yet. The data is real; only the name is raw.
Use the columns button to show or hide columns. Your choice is remembered per vendor. On a phone every visible column is listed on each card instead.
Totals
The totals row is not a blind sum:
- Counts and money add up.
- Rates and averages show a weighted average where that's meaningful, and a dash where it isn't — adding percentages together produces a number that means nothing. Hovering a totals cell says which you're looking at, or "Not summable".
- Totals cover the rows loaded so far, not the whole date range — the footer says how many that is. Load more rows and the totals grow.
Cost
If a cost column shows dashes, that does not mean you spent nothing. A dash means the vendor didn't report a cost for that row; 0.00 means it reported one and it was zero.
When no row in the range reports cost at all, the table says so outright: "This vendor does not report cost." Analytics-style vendors never report it, and some vendors only report it on a paid tier or to credentials with the right permission.
Common questions
"I clicked Sync now and nothing happened"
It returns immediately and the run happens in the background. The screen switches to Sync history and watches for the new row. If the run couldn't be started at all, the reason appears on screen — you'll never get a success message for a run that isn't happening.
"The last run says Partial"
Normal and self-healing. The missing dates are requested again on the next run. Do nothing.
"Yesterday's numbers changed"
Expected. Vendors restate recent days — a click attributed late, a cost adjusted — and Routy re-checks recent days deliberately so you get their corrections rather than a stale first answer.
"There's spend I can't attach to any campaign"
Look for the Account-level row under Campaigns — subscription and platform fees live there.
"A campaign disappeared"
Check its status: a campaign the vendor stopped reporting shows as Removed rather than vanishing, and its historical numbers stay in Metrics.
"My totals don't match the vendor's dashboard"
Check three things in order: the date range (timezone boundary — see above), whether the most recent day is still settling, and whether you've loaded all the rows — the totals row covers what's loaded.
When to escalate
- The same dates stay pending across several runs of Partial — some dates pending.
- Repeated Sync failed with no message you can act on.
- Credentials rejected comes back after you've re-entered credentials that work at the vendor.
- Test connection passes but every sync fails.
- Metrics for a range are empty while the vendor's own dashboard clearly shows activity.
- A cost column is blank for a vendor that definitely reports cost and definitely should be permitted to.