# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Bid toward signups that become customers.
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/bid-on-predicted-ltv-for-plg-signups
Page: https://www.roadwayai.com/workflows/bid-on-predicted-ltv-for-plg-signups
Library index: https://www.roadwayai.com/automation-library
---
name: bid-on-predicted-ltv-for-plg-signups
description: >-
Sends a value for each signup to the ad platforms, based on your own product and revenue data, so bidding favors people who go on to become customers. If you have a value model you trust it uses that; otherwise it uses a simple rule from your history of what similar signups have gone on to pay.
---
# Bid toward signups that become customers
Source: https://www.roadwayai.com/workflows/bid-on-predicted-ltv-for-plg-signups
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
Sends a value for each signup to the ad platforms, based on your own product and revenue data, so bidding favors people who go on to become customers. If you have a value model you trust it uses that; otherwise it uses a simple rule from your history of what similar signups have gone on to pay.
Sends a value for each signup to the ad platforms, based on your own product and revenue data, so bidding favors people who go on to become customers. If you have a value model you trust it uses that; otherwise it uses a simple rule from your history of what similar signups have gone on to pay. Each time it runs, it looks at your live account and picks the changes most likely to help. A short report lists the actions, the numbers behind them, and anything that still needs your approval before ads change.
## 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
activation_event, auto_approve, customer_value_by_segment, funnel_metrics, goal_metric, max_change_pct, monthly_budget_cap, product_usage_data, task_history
## Prompt
Bid toward signups that become customers
Using my product usage data and customer value by segment, give each new signup a value based on what similar signups have gone on to pay, and decide for each channel:
1. Send signup values
2. Recheck values against revenue
3. Keep current optimization
Context and defaults (use these; don't ask):
- Product usage data: [set this to your own product usage data]. If it isn't available, say so and skip the rules that depend on it.
- customer value by segment: [set this to your own customer value by segment]. If it isn't available, say so and skip the rules that depend on it.
- The activation event: [set this to your own activation event]. If it isn't available, say so and skip the rules that depend on it.
- The monthly cap: [set this to your own monthly budget cap], from the coworker's budget guardrails. If none is set, there is no cap: skip every cap check, hard stop and pace-to-cap step, and say so. Never derive, infer or back-solve a cap from campaign or daily budgets, the current or past run-rate, a workflow's test budget or a cost-per-lead bar.
- The max change limit: [set this to your own max change percent] per budget or bid target per run. If not set, 20%. It does not apply to experiment traffic splits.
- Auto-approve: [set this to your own auto approve]. If not set, it's off: list every change as a proposal for approval.
Rules:
- Value each signup from my own data. If [set this to your own customer value by segment] or [set this to your own product usage data] includes a value model that has tracked real revenue well, use it. Otherwise use a simple rule from history: a signup that reaches [set this to your own activation event] is worth what similar signups (same segment or plan) have typically gone on to pay in their first year, and a signup that never reaches it is worth little or nothing. State the rule and the numbers behind it.
- Send the values to each platform through its offline conversion import or server-side conversions API, within the platform's attribution window.
- Recheck monthly against actual 90-day revenue. Stop sending values from a model if they stop tracking actual revenue closely, and fall back to the simple rule.
- If there is not enough history to value signups yet, optimize toward [set this to your own activation event] as the conversion and say so.
- Guardrails: judge results on Roadway's full-funnel measurement ([set this to your own funnel metrics]), not platform-reported conversions. Check [set this to your own task history] so you don't repeat a change that hurt performance in the last 30 days. Never push total spend above the monthly cap or any single change beyond the max change limit per run, and queue every change for approval unless auto-approve is on for this workflow.
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:
Signup value bidding report
Summary:
How the values were set, the values sent, and the shift in signups that go on to pay.
Send signup values:
- [channel] - [reason]
Recheck values against revenue:
- [channel] - [reason]
Keep current optimization:
- [channel] - [reason]
## Run it in Roadway
https://www.roadwayai.com/workflows/bid-on-predicted-ltv-for-plg-signups
Sends a value for each signup to the ad platforms, based on your own product and revenue data, so bidding favors people who go on to become customers. If you have a value model you trust it uses that; otherwise it uses a simple rule from your history of what similar signups have gone on to pay.
Sends a value for each signup to the ad platforms, based on your own product and revenue data, so bidding favors people who go on to become customers. If you have a value model you trust it uses that; otherwise it uses a simple rule from your history of what similar signups have gone on to pay. Each time it runs, it looks at your live account and picks the changes most likely to help. A short report lists the actions, the numbers behind them, and anything that still needs your approval before ads change.