TapCub is live — analytics, insights and live chat, free on one platform

For marketing & paid media Which channel actually pays back?

Spend you import, orders from the ledger and the ad click that started it all sit on one board. Rank channels by return, not by what each platform claims.

Questions you answer every day

  • Which channel brought yesterday’s orders, after cost?
  • Is TikTok worth 23% of the budget for 7% of orders?
  • Which landing page turns paid clicks into signups?
  • Did Newsletter beat paid search again this week?
app.tapcub.com
InsightsChannel ROILast 30 daysImport costs

Spend

$12,400

▲ 4.2%

Attributed orders

508

▲ 9.1%

Blended return

2.9×

▲ 0.3×

Cost per order

$24.41

▼ 6.0%

Sessions × conversion rate · bubble = revenue

Cut by the mean on each axis. Newsletter converts best; TikTok brings sessions that do not convert.

Return by channel

After cost
Newsletter6.2×
Google Ads3.4×
Meta2.1×
Microsoft Ads1.8×
TikTok0.8×
Sample data
The daily friction

Three reasons the Friday report never adds up

Every marketer has met these. None of them is a spreadsheet problem; they are a measurement problem.

Every platform claims the same order

Add up platform-reported conversions and you get more orders than you shipped. Each platform credits its own last click and nobody subtracts the overlap.

Spend lives in a spreadsheet

Orders are in analytics, cost is in five ad accounts. Return is computed by hand once a week, after the budget has already been spent.

UTM drift

Forty spellings of “facebook”, campaigns without a source, redirects that drop the click ID. The source report ends up 30% “direct”.

Numbers you report

What the sample board reads this month

The same shared sample is used across the site, so a channel reads the same on every page.

Newsletter return
6.2×
Newsletter return
Google Ads return
3.4×
Google Ads return
TikTok return
0.8×
TikTok return
Ad platforms with click IDs
14
Ad platforms with click IDs

Sample data. Return = order revenue ÷ imported spend for the same period.

Built for marketing

Five things you open before the stand-up

Each block is one report. Each report links to the product page that explains it in full.

Channel return with cost in the picture

Import spend by day and channel. Cost per click, cost per order and return appear next to the sessions and orders TapCub already has.

  • Quadrant: sessions × conversion rate, bubble size is revenue
  • Cost per click, cost per order and return by channel, source or campaign
  • CSV import: day, channel, source, campaign, cost. Same key overwrites the row

Example scenario: TikTok takes 23% of spend and brings 7% of orders. The quadrant puts it bottom-right. You cut it before the next flight, not at quarter end.

app.tapcub.com

Channel quadrant

Return by channel

After cost
Newsletter6.2×
Google Ads3.4×
Meta2.1×
Microsoft Ads1.8×
TikTok0.8×
Sample data

Click IDs captured on arrival, 14 platforms

gclid, fbclid, ttclid, msclkid and ten more are read from the landing URL and written to the person. The order three days later still knows which ad it came from.

  • Google Ads, Meta, TikTok, Microsoft, X, LinkedIn, Snapchat, Pinterest, Reddit, Yandex
  • Plus Ocean Engine, Baidu, Tencent Ads and Kuaishou for traffic from China
  • First-touch channel and campaign saved on the profile, not only on the session
app.tapcub.com
PlatformParameterStored as
Google AdsgclidAd click ID · first touch
MetafbclidAd click ID · first touch
TikTokttclidAd click ID · first touch
Microsoft AdsmsclkidAd click ID · first touch
X AdstwclidAd click ID · first touch
LinkedInli_fat_idAd click ID · first touch
+ 8 moreUTM source / medium / campaignChannel class on the session
Sample data

Attribution models side by side

First touch, last touch and the models in between, on the same conversions. Pick the touch (channel, UTM source, campaign, landing page) and a lookback from 1 to 90 days.

  • Conversions, attributed conversions, conversions with no touch, average touches
  • Each model is a column, so one channel’s credit can be compared across models
  • Paths show the sequence of touches before the conversion
app.tapcub.com
ChannelFirst touchLast touchLinear
Newsletter182214198
Google Ads164142151
Meta967888
Organic search486052
Direct181419
Sample data

Landing pages that convert the click

Sources, landing pages and the funnel that starts on them. See which campaign URL reaches signup and which one bounces at the form.

  • Sources and landing pages with bounce, time on page and goals
  • Campaign click, landing page, signup, paid as one funnel
  • Live view: watch a new flight land in its first ten minutes

Example scenario: A new landing page lost 46% between view and signup. It had a required phone field the old page did not. Fixed the same morning.

app.tapcub.com

Campaign to order

7-day window

Campaign click

2,400

Landing page

1,248

Signup

674

Paid

508

Sample data

An alert when cost per order jumps

Put a monitor on any saved metric. When a channel moves 30% against last week, a message lands in WeCom, DingTalk, Feishu, email or your webhook before the budget does.

  • Fixed threshold, period change or forecast band on spend, orders and return
  • Scheduled daily or weekly report of the ROI board to the team
  • Ask the AI analyst in one sentence: “which campaign got expensive this week?”
app.tapcub.com

Monitors · marketing

  • Meta cost per order +38% vs last weekSpend flat, orders down 27% since TuesdayWebhook
  • UTM source “Facebook” and “facebook”Two spellings on 1,204 sessions this weekEmail
  • Newsletter return 6.2×Top ROI four weeks runningWeekly report

Channels: webhook, WeCom, DingTalk, Feishu and email.

Sample data
A day in the role

From the morning board to the Friday review

The same five steps, every day. Each one is a report you open, not a spreadsheet you build.

  1. 08:301

    Read yesterday

    Open Channel ROI for yesterday. Spend, orders and return by channel, with the newsletter next to paid.

    Channel ROI · yesterday

  2. 09:152

    Spot the jump

    A monitor fired overnight: Meta cost per order up 38% against last week with flat spend.

    Monitors

  3. 10:003

    Find the cause

    Break Meta down by campaign and landing page. One ad set points at a page where the form lost 46% of people.

    Funnel · campaign → signup

  4. 11:004

    Act

    Pause the ad set, fix the redirect that dropped the click ID, and rename the stray “Facebook” source.

    Ads console + UTM rules

  5. Fri 16:005

    Review the week

    Share the quadrant with growth and finance. Decide next week’s split with return, not platform-reported conversions.

    Shared dashboard

Every step above is a saved report or a monitor. The only tool outside TapCub is the ad platform itself.

Working with other roles

One board, read by three teams

Marketing owns spend. Growth owns activation. Finance owns the number that goes in the deck. They can all read the same dashboard, with the right level of access.

app.tapcub.com

Share “Channel ROI · weekly”

Copy link
  • MKMarketing leadAdmin
  • GRGrowthAnalyst
  • FIFinanceViewer
  • AGAgency (external)Viewer

Read-only link, optional password, last 90 days, filters limited to the share allowlist.

Sample data

Owner and Admin manage members and costs. Analyst builds reports and imports spend. Viewer reads. Agency partners get a read-only link that expires with the contract.

In their words

What a marketer notices first

Two scenes from the job, written as the person doing it might tell them.

The quadrant settled a two-month argument in one meeting. TikTok was costing 23% of budget for 7% of orders. Nobody needed a second slide.

AP

A. P.

Performance marketer · agency

Channel ROIAttribution

I used to export five CSVs on Friday. Now I import one cost sheet on Monday and the return column is just there, with the newsletter beside paid.

LW

L. W.

Marketing lead · DTC brand

Cost importNewsletter

Illustrative scenarios written from the perspective of people who do this job. Not real reviews.

FAQ

Questions marketers ask

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

How do I get cost into TapCub?

Add a row or import a CSV on the Costs tab of Channel ROI. Columns are day, channel, source, campaign, cost, currency, clicks and impressions; day and cost are required. The same day and dimensions overwrite the row.

Which ad platforms are recognised?

14. Google Ads, Meta, TikTok, Microsoft Ads, X Ads, LinkedIn, Snapchat, Pinterest, Reddit Ads and Yandex Direct, plus Ocean Engine, Baidu, Tencent Ads and Kuaishou. The click ID is read from the landing URL.

Is channel ROI the same as the attribution model?

No. Channel ROI is a spend table next to sessions, orders and revenue. The attribution analysis credits conversions to touches under first-touch, last-touch and other models. Use both.

Where does revenue come from?

From the order ledger, which means purchase events sent from your server. Without orders, revenue is zero and return is not estimated.

Can the agency see the board without a login?

Yes. Share the dashboard as a read-only link with an optional password. It shows the last 90 days and the filters you allow.

Import one week of spend and read the return tomorrow

Free plan, no credit card. The snippet is the same one your site may already run for analytics.