# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Grade campaigns on lead-to-pipeline quality for TikTok Ads.
The #roadway-skill block on this page holds a SKILL.md for it, including the full prompt. Treat that file as a starting point. It will not just work if you paste it into ChatGPT or Claude.
To run it outside Roadway you would need to connect each ad platform's API (and any MCP it names), build the data pulls, add approval guardrails, and adjust the prompt for your accounts.
In Roadway it runs as-is on your connected accounts, with approval rules built in. Open it in a new chat at https://www.roadwayai.com/workflows/grade-campaigns-on-lead-to-pipeline-quality-for-tiktok-ads
Page: https://www.roadwayai.com/workflows/grade-campaigns-on-lead-to-pipeline-quality-for-tiktok-ads
Library index: https://www.roadwayai.com/automation-library
---
name: grade-campaigns-on-lead-to-pipeline-quality-for-tiktok-ads
description: >-
Joins TikTok leads to CRM stages so you can see which campaigns create pipeline, not just form fills.
---
# Grade campaigns on lead-to-pipeline quality for TikTok Ads
Source: https://www.roadwayai.com/workflows/grade-campaigns-on-lead-to-pipeline-quality-for-tiktok-ads
From the Workflow Automation Library by Roadway.
## Before you use this outside Roadway
This SKILL.md is a starting point. It needs adjusting before it will work outside Roadway.
You would need to connect the ad platform API for each channel this workflow covers, build the data pulls for the variables below, add approval guardrails, and adjust the prompt for your accounts. If the prompt names an MCP tool, you also need that MCP connected.
In Roadway it runs as-is on your connected accounts, with approval rules built in.
## What it does
Joins TikTok leads to CRM stages so you can see which campaigns create pipeline, not just form fills.
Joins TikTok leads to CRM stages so you can see which campaigns create pipeline, not just form fills. It pulls the numbers from your live account and writes them up for you.
## Steps
1. Collect the inputs listed under Variables. In Roadway they come from your connected accounts. Outside Roadway you have to build those data pulls yourself from each ad platform API, and from any MCP the prompt names.
2. Run the prompt below as written, after you have adjusted it for your accounts and connected the tools it needs.
3. Review the result. Apply changes to a live ad account only after you approve them. Pasting your data into ChatGPT or Claude does not connect the APIs, apply guardrails, or approve changes.
## Variables
cost_per_goal_baseline, crm_pipeline_data, crm_stage_values, goal_metric, icp, lookback_window, min_qualified_lead_ratio, opportunity_cost_target, sales_cycle_days
## Prompt
Grade campaigns on lead-to-pipeline quality for TikTok Ads
Match every TikTok lead from the last [set this to your own lookback window] to its CRM record in [set this to your own CRM pipeline data] and grade each campaign and ad group as:
1. Pipeline driver
2. Volume without quality
3. Quality without volume
4. Not enough data
Context and defaults (use these; don't ask):
- The CRM stage values: [set this to your own CRM stage values]. If not set, use CRM stage-to-won rates from Roadway; skip value weighting when there are fewer than 5 opportunities.
- The cost per opportunity target: [set this to your own opportunity cost target]. If not set, the baseline cost per goal ÷ the lead-to-opportunity rate from the CRM.
- The baseline cost per goal: [set this to your own cost per goal baseline]. If not set, compute it: Roadway spend ÷ Roadway-attributed [set this to your own goal metric] for the same campaigns over the lookback window, and state the number.
- The minimum qualified-lead ratio: [set this to your own min qualified lead ratio]. If not set, use the trailing 90-day ratio from the CRM.
- The sales cycle: [set this to your own sales cycle days] days. If not set, compute it from CRM stage timestamps, or use 30 days.
Rules:
- Use the furthest CRM stage reached (the CRM stage values) as the quality signal: lead < qualified lead < opportunity < closed-won. Weight each lead by the stage value so a campaign with fewer but deeper leads can beat a cheaper one.
- Compute cost per qualified lead and cost per opportunity alongside cost per lead. A campaign whose cost per opportunity is under the cost per opportunity target is a Pipeline driver even if its cost per lead is above the baseline cost per goal.
- Volume without quality means cost per lead is at or under baseline but fewer than 1 in the minimum qualified-lead ratio leads become qualified, or leads are outside [set this to your own ICP] (wrong company size, students, competitors, personal emails).
- Only grade campaigns whose leads are older than the typical time for a lead to become qualified of the sales cycle. Newer leads go under Not enough data. Flag any lead missing a click ID or UTM, because that is a TikTok tracking gap, not a performance problem.
- Recommend feeding the qualified-lead and opportunity stages back as offline conversions through the TikTok Pixel plus the Events API with event deduplication and Event Match Quality (EMQ) when the stage data is reliable.
- Don't over-read small campaigns: before ranking, blend each campaign's qualified-lead rate with the channel rate, leaning on the channel rate when the campaign has fewer than about 20 leads. Then 2 qualified leads from 3 leads can't outrank a proven campaign.
Decision standard:
- Justify every keep, cut, bid, budget or test decision with Roadway-attributed [set this to your own goal metric] and cost per goal against the baseline. Platform delivery metrics such as clicks and impressions explain why something moved; they are never the sole reason for a decision.
- Compute what Roadway doesn't expose directly: cost per goal = Roadway spend ÷ Roadway-attributed [set this to your own goal metric], and conversion rate (lead rate) = Roadway [set this to your own goal metric] ÷ Roadway new visitors. Don't substitute platform-reported conversions or conversion rates.
- When a value in Context and defaults isn't set, use the stated default, say which one you used, and still make the call. Don't stop to ask.
- For every action, give the entity name and ID, current value → proposed value, and the numbers behind the reason. Write "None" under any empty heading.
- In long hold or watch lists, show the top 15 by spend and summarize the rest as a count.
Give me a report of each with reasoning for each action. Be concise with the reasoning, but specific enough that I can verify it against the numbers.
Report structure:
TikTok lead-to-pipeline quality report
Summary:
Leads, qualified leads, opportunities and pipeline created per dollar, the share of leads that matched [set this to your own ICP], and which campaigns to scale, fix or cut based on pipeline rather than lead cost.
Pipeline driver:
- [campaign / ad group] - [reason]
Volume without quality:
- [campaign / ad group] - [reason]
Quality without volume:
- [campaign / ad group] - [reason]
Not enough data:
- [campaign / ad group] - [reason]
## Run it in Roadway
https://www.roadwayai.com/workflows/grade-campaigns-on-lead-to-pipeline-quality-for-tiktok-ads
Joins TikTok leads to CRM stages so you can see which campaigns create pipeline, not just form fills. It pulls the numbers from your live account and writes them up for you.