Routy

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:

What What it tells you
Status Connected, Disabled or Error.
Currency The currency this vendor account reports money in, shown as the vendor states it. Routy doesn't convert it.
Time zone The timezone every date on this page is expressed in.
Last synced When the last successful run finished. Waiting for first sync means none has yet.
Sync schedule How often Routy asks this vendor for fresh numbers, or Disabled.

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

Action What it does
Refresh Re-reads this screen.
Import links Creates Routy links from the destination links this vendor already holds. Only appears for vendors that have links — a tracker like Voluum or Tune does; an ad platform like Google Ads has no such thing. See below.
Sync now Asks for an immediate run. It returns straight away — the run itself happens in the background — and the screen switches to Sync history and watches for it. If a run can't be started, the screen shows the reason rather than claiming one began.
Test connection Calls the vendor live to check the credentials still work, and reports The connection is working or The test did not pass. It's slow on purpose — use it when you suspect a problem, not as a refresh.
Disable / Enable Stops or resumes scheduled syncing. Data already pulled is untouched and history is kept.
Settings What this connection asks the vendor for. Only appears for vendors that publish settings — most don't yet. See below.
Sync schedule How often this connection syncs. See below.
Delete Disconnects it. You're asked to confirm: "Its history is kept, but it stops syncing."

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.


If you already have your offers set up in a tracker, you don't have to retype them. Import links reads what the vendor holds and creates the matching Routy links.

The button only appears on connections whose vendor actually has links. If you don't see it, that vendor has no such concept and nothing is missing.

Choosing what to import

Opening it fetches the list live from the vendor, which takes a few seconds.

Links are grouped the way the vendor groups them — by affiliate network on Voluum, by advertiser on Tune. Anything the vendor didn't put in a group appears under Ungrouped; nothing is hidden.

For each link you want, tick it and set:

Field What it's for
Link name What the link is called in Routy. Prefilled with the best name we can derive — often shorter than the vendor's, because a tracker tends to name an offer for the whole route (FTD Gallery - Norway - Needforslots) when you only want the brand part (Needforslots). Edit it freely.
Destination account Which of your accounts the link belongs to. Required.
Brand Leave it on Match by name and we find the brand by the link's name within that account's program. Pick one explicitly if you'd rather not rely on the name.

Setting one account for a whole group

This is the part worth knowing. When you set a destination account on a link, we offer to apply it to every other link in the same group — "Apply … to all 47 other links in FTD Gallery?". One click instead of forty-seven dropdowns.

The same offer appears when you pick a brand explicitly, with one difference: it only applies to links in that group already going to the same account, so the number in the question is exactly what will change. A brand belongs to one account's program, so applying it to a link headed elsewhere could only fail.

There's no offer when you leave a link on Match by name — that's already every link's default, so applying it would change nothing.

Whether the brand shortcut helps depends on how your vendor groups things. If a group is one advertiser selling one brand across several countries, it saves you the same work the account shortcut does. If a group is an affiliate network holding many different brands, leave them all on Match by name — that's the setting that resolves each link to its own brand.

A link imported before from this connection is marked Imported and can't be selected again. Use Hide already imported to get them out of the way.

A link the vendor has retired shows as Removed and appears greyed. You can still import it; it's shown rather than dropped so you know it exists.

Reading the results

Each link succeeds or fails on its own — some failing while others succeed is normal, not a broken import. The summary counts imported, already there and failed, and every failure shows the reason next to the link.

The usual failure is the brand: we look for exactly one brand whose name matches, within the destination account's program, and two matches count as none. Pick the brand explicitly for those links and import them again.

Try the N that failed again puts exactly those back in the list so you can fix them. Re-importing is always safe — a link that's already in is reported as already there and isn't created twice.

Importing does not move your traffic

This surprises people, so it's worth saying plainly: importing creates the links in Routy, but your tracker's campaigns still point at your tracker. The new links have zero clicks until you point a traffic source at Routy's router URL. An import that worked perfectly will still show no activity until you do that.


Settings

Some vendors let you choose what a connection pulls. Where they do, a Settings action appears and opens a form built from that vendor's own choices — so what you see depends entirely on which vendor this is.

Two examples of what turns up there:

  • Google Search Console — a Search type (Web, Image, Video, News, Discover, Google News) and up to four Breakdowns (search query, landing page, country, device, search appearance).
  • Google Ads — a Reporting level: Campaign, Ad group, Keyword or Ad.

Most connections have no Settings action at all. That doesn't mean the vendor has no options — it means it hasn't described them to Routy yet, and support configures those by hand.

Defaults, and leaving a field alone

Each field shows its default as greyed-out placeholder text. Leaving a field empty is not the same as typing the default into it:

  • Left empty, the setting follows Routy's recommended value, and improves on its own if we retune it.
  • Filled in, the setting is pinned to exactly what you chose and stays there.

So if you're happy with a default, leave it alone rather than selecting it.

Two things worth knowing before you save

Changing settings does not rewrite history. New settings apply from the next sync onwards. Days already collected stay exactly as they were, and there's no backfill coming — so a total that spans the change is built from two different shapes of data. If you need a past range re-pulled at the new setting, that's an admin action; ask support.

A deeper level means more data and slower syncs. Moving Google Ads from Campaign to Keyword, or turning on another Search Console breakdown, is a different request to the vendor, not a filter on the same one. Expect more rows and a longer run.

If the vendor won't accept a choice, the form says so and names what it will accept — pick from that list rather than retrying.


Breakdowns

What this connection is actually receiving, as opposed to what you asked for. Pick a date range and each breakdown that has data gets a row: how many rows arrived, how many distinct values they cover, the days they span, and which measures those particular rows carry.

This is the screen to open when a setting looks like it did nothing.

A breakdown you switched on can legitimately come back empty, and that's not always a fault. Common reasons:

  • The vendor withholds it. Search Console hides search queries below a privacy threshold, so its query breakdown will not add up to your connection's totals — being short by a third or more is normal, not a bug.
  • It doesn't exist for that product. Search Console's Discover has no query breakdown at all, and reports no average position.
  • Nothing has synced yet. Syncs run every few hours and vendors lag a day or two behind, so today and often yesterday will be missing.

Different breakdowns carry different measures. One may report clicks, impressions and position while another reports only clicks. That's the vendor's doing, and it's why each row lists its own measures rather than sharing one list.

Seeing the values

View values on a breakdown ranks what it actually contains — your top queries, your busiest pages. Change Rank by to order on a different measure; the list is the true top of the whole date range, not the top of one page.

Two things about the numbers on that list:

  • A rate or an average the vendor reports is left out, showing a dash. Adding up five thousand click-through rates gives a number in the hundreds, which would look like data and mean nothing — so it's omitted rather than shown wrong.
  • Engagement rate is calculated by Routy, from engagements divided by exposures. It's shown because it can be totalled honestly. It is not the vendor's own rate and may differ slightly from what the vendor's dashboard shows.

Trend on any value opens its day-by-day figures, and there every measure is exactly as the vendor reported it — rates included. If you want a specific query's click-through rate, that's where it is.

If a breakdown you expect is missing entirely, widen the date range before assuming it's broken. If it's still missing over a few weeks, check it's switched on in Settings.


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.

Result Meaning Act?
Synced Everything asked for landed. No.
Partial — some dates pending Some dates landed, some didn't. No.
Vendor unavailable — retrying automatically The vendor throttled us or was down. No.
Sync failed The run didn't complete. Usually no — the next run retries.
Running Started, not finished. No — wait.

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.

Status Meaning
Active Running at the vendor.
Paused Paused at the vendor.
Removed Archived at the vendor. Its historical numbers stay queryable — vendors resurrect campaigns, so this is never treated as broken.
Unknown The vendor didn't say.

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.

Expected. Importing creates the links; it doesn't redirect anything. Your traffic still goes to your tracker until you point a traffic source at Routy's router URL.

"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.

"I changed a setting but the numbers look the same"

Settings apply from the next sync on. Check Sync history for a run that started after you saved, then look at Breakdowns to see what that run actually brought back. Days collected before the change are not re-pulled.

"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.