Lead Quality & CRM Feedback Review

Compare campaign lead cost with matched CRM qualification and sales outcomes, accounting for cohort maturity, stage definitions, and join coverage.

Measurement & data qualityWorks with exports or live data

When to use it

When low-cost leads need comparison with qualification and closed-won CRM outcomes.

Try asking

“Compare our ad campaigns by qualified leads and closed sales in the CRM, not just cost per lead.”

What you get back

A maturity-aligned lead-quality review with coverage, qualified/won economics, matching limits, and a feedback-path recommendation.

Fictional example output

c1 is cheaper on raw leads ($10 versus $20), while c2 is better on the observed matched qualified and won outcomes.

CampaignJoin coverageQualified / matchedQualified / all origin leadsCost / observed qualifiedCost / observed won
c180/100 = 80.00%24/80 = 30.00%24/100 = 24.00%$41.67$125.00
c245/50 = 90.00%27/45 = 60.00%27/50 = 54.00%$37.04$111.11

The all-origin quality fractions are observed matched outcomes divided by the full origin cohort; they are not complete qualification rates because 20/5 leads are unmatched. Matched-only rates may be selection-biased. Equal 60-day follow-up supports this comparison, but no causal incrementality or complete true won rate is established.

Next: reconcile c1's weaker join coverage and stage definitions before a budget or bidding-goal proposal. Booked won revenue is $8,000/$9,000, not profit. No customer identities uploaded or conversion goals changed.

Fictional data. An illustration of the method, not a customer result.

Where the data comes from

Connected with Orphex Recommended

The skill reads your connected accounts for the right dates. Nothing to export or upload.

Connect free
Input columns 9 required, 1 optional
cohortRequired
Lead-created cohort and documented attribution scope
campaign_idRequired
Acquisition campaign under the supplied join rule
currencyRequired
ISO currency
spendRequired
Acquisition spend for this cohort scope
platform_leadsRequired
Deduplicated originating leads in the stated scope
matched_leadsRequired
Originating leads matched to CRM under the supplied identity rule
qualified_leadsRequired
Unique matched leads reaching the defined qualified stage
won_customersRequired
Unique matched leads reaching defined closed-won
won_revenueOptional
Defined revenue from matched closed-won records
observed_daysRequired
Available follow-up age; align before comparing stages
Before you start 2 items
  • Supplied data with the documented task-specific columns, stable scope, and refresh/maturity context
  • Business definitions and constraints relevant to the decision; see the reusable business-context reference

Supply your objectives, conversion definitions, currency, constraints, and approved brand facts once, then reuse the profile across reviews. Leave unknown values explicit.

Open profile source
The method

With an Orphex connection

If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read controller.catalog then controller.fetch at level campaign for cohort spend and platform-credited leads. For the lead conversion setup and the offline feedback path, run capability_search with platform google and use platform_actions.conversion_actions_read and platform_actions.conversion_upload_diagnostics_read only when that search returns them. Qualification, opportunity and won outcomes still come from the user's CRM evidence. Then list guides with skill_catalog (kind guide, topic measurement) and follow a matching one through skill_read; choose by title, never by a stored id.

Source and evaluation v2.1.0 · MIT
View SKILL.md

Orphex Lead Quality & CRM Feedback Review

Assess whether acquisition produces the business's defined qualified leads, opportunities, and customers. Analyze the supplied CRM evidence without converting unmatched outcomes into failures or successes.

Unequal coverage may distort a comparison, but it does not establish that any portion of an observed rate or cost gap is a coverage artifact. Do not describe the gap as partly driven by observing less of a cohort without actual missing-outcome evidence; all unmatched leads could have no qualifying outcome. State the possible bias and unknown contribution consistently. When applicable, show the full-cohort outcome bounds and the corresponding cost-per-outcome range from known versus maximally qualifying unmatched leads, rather than causally explaining the observed cost difference from coverage alone.

With an Orphex connection

If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read controller.catalog then controller.fetch at level campaign for cohort spend and platform-credited leads. For the lead conversion setup and the offline feedback path, run capability_search with platform google and use platform_actions.conversion_actions_read and platform_actions.conversion_upload_diagnostics_read only when that search returns them. Qualification, opportunity and won outcomes still come from the user's CRM evidence. Then list guides with skill_catalog (kind guide, topic measurement) and follow a matching one through skill_read; choose by title, never by a stored id.

If a read is not returned, this connection cannot reach that Orphex data for the workspace: say so, then use the live platform reads it offers or the supplied exports. An absent, refused or empty read is not evidence of zero, none or healthy. Describe each read with capability_describe before run_read, keep date_end no later than yesterday, disclose request adjustments, and name each number's source, workspace and window. This skill's evidence rules still govern any guide, insight or playbook label, and no read authorizes account changes. Ask the user only for what is still missing.

Establish the cohort and join

Use lead-created or another explicitly supplied acquisition cohort, with campaign scope, spend, attribution rule, stage definitions, snapshot time, follow-up horizon, currency, and unique identity/count rules. Distinguish unique source leads from fractional platform attribution credits; the latter cannot be used as a person-matching denominator. Use aggregate evidence or authorized pseudonymous joins. Do not request raw emails, phone numbers, or upload identities just to run this analysis.

Validate deduplication, one-to-many opportunity/customer relationships, reopened/lost statuses, and stage nesting. Calculate join coverage = unique matched origin leads / eligible unique origin leads. Then report qualified / matched, won / matched, and observed qualified or won / all origin leads separately. Unmatched leads have unknown downstream outcomes; matched-only rates can be selection-biased. Do not extrapolate their rate to the full cohort without an explicit supported missingness model.

Join coverage measures how much of the cohort is observed, not the direction or magnitude of selection bias. Do not claim that a coverage gap drives most of a quality difference without supporting evidence. Higher or equal coverage does not make missing outcomes ignorable or matched cohorts exchangeable, and no universal coverage cutoff establishes an actionable winner. After a revised join, recompute observed denominators, rates, and worst-case bounds for unmatched outcomes; recheck stage definitions and follow-up comparability. Scope any ranking to the exact metric: disjoint valid worst-case bounds can establish a full-cohort qualification-rate ordering without a missingness model, but not a cost, marginal-return, or budget winner. If those bounds overlap, keep that ordering unresolved unless additional evidence or a justified missingness model supports it; a maintained matched-only rate is not proof of cohort superiority.

Align cohorts by the same elapsed follow-up and stage snapshot, not only the same calendar week. Recent leads can remain unresolved. Use cohort acquisition spend for observed cost per qualified/won outcome; report incomplete coverage, delayed stages, and current snapshot effects. Closed-won value, recognized revenue, cash collected, and contribution are different metrics. Zero won counts give an unavailable cost per won, not zero.

Recommend a feedback improvement

Prioritize definition, identity, coverage, and import-lag gaps before shifting budget or bidding goals. If an offline/enhanced conversion path is requested, verify current consent, supported identifiers, deduplication, timestamps, goal mapping, and authorized write scope. Deliver the cohort table, observed economics, coverage/maturity limitations, and a bounded next reconciliation or experiment. A matched attribution relation is not causal acquisition lift.

Official reference

Portable inputs and examples

State whether the result is complete, partial, or blocked for the requested decision. Link material findings to actual supplied rows/sources and separate observed metrics, hypotheses, and estimates. Lead with a short business conclusion, then evidence, uncertainty, and the next measurable check. A data export or installed skill does not authorize account changes.

For the supported arithmetic only, optionally run the bundled calculator with Python 3: python3 scripts/marketing_math.py weighted-ratio < calculation.json. Read its input mapping in the input contract before preparing JSON. It reads JSON, not CSV directly. If Python or the requested method is unavailable, show a reproducible alternative calculation or mark it unsupported; do not report an uncomputed result as verified.

View on GitHub Open SKILL.md

How this release was evaluated

See the recorded checks, compared runs, results, and limits for v2.1.0. Example reviews illustrate the method; they do not guarantee account results.

Read the evaluation report