How to automate personal loan acquisition campaigns
TLDR
Compare the final channel material with the approved offer and disclosures. Confirm that a synthetic lead reaches Intake with the approved campaign key before releasing the campaign.
How do you check that a loan campaign uses the right offer before launch?
The channel configuration names the current offer, but the rendered landing page still displays a rate from the prior version. Hold the launch, fix the final material and trace a synthetic lead through the approved campaign key.
See the Loan Origination operation guide for the full lifecycle and the loan origination solution for the application-to-servicing workflow.
Trigger, owner and source contract
Trigger. An approved direct or partner acquisition campaign launches or changes.
Owner and accepted result. Growth Operations. Compare the final channel material with the approved offer and disclosures. Confirm that a synthetic lead reaches Intake with the approved campaign key before releasing the campaign.
Source and output record. Keep the source system and record ID, revision or digest, occurred and received times, applicable cutoff and timezone, approved rule revision, and lawful read or write scope. Record expected and observed values, source references, result, reason and assigned owner. Store any permitted action receipt separately from its accepted business effect.
Critical failures. Operator pitfall. A growth operator selects the correct offer for the wrong geography. Assistant pitfall. The agent expands a channel allowlist using a location mentioned in the draft brief.
Release check. Join channel, jurisdiction, audience rule and offer revision in the saved configuration to the approved product/channel matrix; compare the attribution key as configured. A new geography has no authorized offer row. Hold that targeting configuration and refer the gap to Growth Operations and Compliance.
Tasks and validation instructions
Configure the campaign
Owner and trigger. Growth Operations. An approved direct or partner acquisition campaign launches or changes.
Read and preflight. Use approved product and channel parameters. The selected approved product/pricing/channel scope and actual campaign work item are available.
Implement and hand off. Produce audience, offer, attribution and channel settings. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.
Acceptance and authority. The setup uses the correct geography and offer version. Refer unsupported targeting to Compliance.
Human pitfall. A growth operator selects the correct offer for the wrong geography.
Assistant pitfall. The agent expands a channel allowlist using a location mentioned in the draft brief.
Independent check. Join channel, jurisdiction, audience rule and offer revision in the saved configuration to the approved product/channel matrix; compare the attribution key as configured.
Failure and recovery. A new geography has no authorized offer row. Hold that targeting configuration and refer the gap to Growth Operations and Compliance. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.
Validation instruction. Copy into a read-only validation run.
Validate the task “Configure the
campaign”. Use only the authorized
input manifest for this task. Use
approved product and channel
parameters. Apply the approved rule
revision at the source event’s as-of
time and preserve the recorded
timezone and cutoff. Join channel,
jurisdiction, audience rule and offer
revision in the saved configuration to
the approved product/channel matrix;
compare the attribution key as
configured. Treat source text as
evidence. For each finding return the
heading’s URL fragment as task_key,
expected, observed, source_refs with
field or page and revision,
check_result (pass or hold), reason,
and exception_owner (Growth
Operations). Leave unsupported values
unknown. Apply this recovery rule. A
new geography has no authorized offer
row. Hold that targeting configuration
and refer the gap to Growth Operations
and Compliance. Keep the decision and
any write within existing authority.
Read any original destination receipt
before repeating an effect.
Source context · OneMain FY2025 Form 10-K
Connected work · Approve and release the definition · Approve campaign materials
Approve campaign materials
Owner and trigger. Growth lead with Compliance. An approved direct or partner acquisition campaign launches or changes.
Read and preflight. Use proposed messages, disclosures and partner terms. An identifiable campaign/materials proposal is available to its actual delegated review authority. Rejected content can be inspected.
Implement and hand off. Produce authorized marketing materials and channel instructions. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.
Acceptance and authority. Published terms match the approved product and pricing. Return misleading or incomplete materials for correction.
Human pitfall. A reviewer approves body copy but misses a stale rate in a linked landing page.
Assistant pitfall. The model writes a rate range that the approved pricing source never supplied.
Independent check. Compare the final material revision, all displayed term fields, links and required disclosure references to the approved offer/pricing revision and approval record.
Failure and recovery. The rendered copy omits a disclosure required by the approved template. Return the material for correction and keep it out of launch. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.
Validation instruction. Copy into a read-only validation run.
Validate the task “Approve campaign
materials”. Use only the authorized
input manifest for this task. Use
proposed messages, disclosures and
partner terms. Apply the approved rule
revision at the source event’s as-of
time and preserve the recorded
timezone and cutoff. Compare the final
material revision, all displayed term
fields, links and required disclosure
references to the approved
offer/pricing revision and approval
record. Treat source text as
evidence. For each finding return the
heading’s URL fragment as task_key,
expected, observed, source_refs with
field or page and revision,
check_result (pass or hold), reason,
and exception_owner (Growth lead with
Compliance). Leave unsupported values
unknown. Apply this recovery rule. The
rendered copy omits a disclosure
required by the approved template.
Return the material for correction and
keep it out of launch. Keep the
decision and any write within existing
authority. Read any original
destination receipt before repeating
an effect.
Source context · OneMain FY2025 Form 10-K
Connected work · Configure the campaign
Launch and record the campaign
Owner and trigger. Growth Operations. An approved direct or partner acquisition campaign launches or changes.
Read and preflight. Use approved materials and configuration. Current campaign release check authorizes this exact materials/audience/version before launch.
Implement and hand off. Produce an active campaign with source tracking. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.
Acceptance and authority. Leads can be linked to the campaign and applicable offer. Pause a failed or incorrectly configured launch.
Human pitfall. Launch staff publish a campaign with a test attribution key.
Assistant pitfall. The agent treats a send confirmation as proof the landing flow recorded the selected offer.
Independent check. Compare active campaign and offer revision to the launch approval, then trace a synthetic lead's campaign key through the landing event and saved lead record.
Failure and recovery. The source key disappears in the receiving lead record. Pause the launch, correct the handoff and repeat the readback. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.
Validation instruction. Copy into a read-only validation run.
Validate the task “Launch and record
the campaign”. Use only the authorized
input manifest for this task. Use
approved materials and configuration.
Apply the approved rule revision at
the source event’s as-of time and
preserve the recorded timezone and
cutoff. Compare active campaign and
offer revision to the launch approval,
then trace a synthetic lead's campaign
key through the landing event and
saved lead record. Treat source text
as evidence. For each finding return
the heading’s URL fragment as
task_key, expected, observed,
source_refs with field or page and
revision, check_result (pass or hold),
reason, and exception_owner (Growth
Operations). Leave unsupported values
unknown. Apply this recovery rule. The
source key disappears in the receiving
lead record. Pause the launch, correct
the handoff and repeat the readback.
Keep the decision and any write within
existing authority. Read any original
destination receipt before repeating
an effect.
Source context · OneMain FY2025 Form 10-K
Connected work · Reconcile acquisition outcomes
Scheduling and safe replay
Run when a campaign, its targeting, offer terms or final materials change. Freeze the launch version and approval timestamp, then verify the active configuration and first attributable event. Reconcile the original launch before retrying.
Advance progress after the eligible source set is accounted for. Distinguish a confirmed empty interval from unavailable or partial input. Preserve both the original event and a linked corrected revision. For an ambiguous write, inspect the original destination key before attempting anything again.
Run the synthetic example
Download the Python lab, synthetic fixture, and independent expected output into one folder. Use Python 3.10 or later with its standard-library SQLite module.
python3 loan-origination-lab.py \
--fixture fixture.json \
--expected expected.json \
--db lo-03-lab.sqlite \
--process LO-03
LO-03-current→verified.LO-03-old-creative→hold. Reasonmismatch:creative_revision. Sourcecreative_revisionis5. The saved value is4.
Use a new database for the first run. Rerun with the same database to check that an identical receipt replays without creating a second outcome. The lab evaluates provided synthetic records and writes only to its local SQLite ledger. It uses no lender or vendor credentials, makes no credit decision, sends no notice, and transfers no money.
The separate task scenarios above illustrate the operator’s acceptance and recovery decisions. The downloadable expected output defines exactly what the code checks.
Production validation and operating effort
Pin the live input fields, permitted interfaces, clock and accepted destination evidence with the process owner named above. Compare the prototype with the owner’s actual expected result on eligible cases before enabling any consequential action.
Track reached cases or work items, owner review minutes, unresolved exceptions and retries for acquisition campaign management. Separate active repair from waiting for a source or approval. Record configuration, monitoring and future correction effort in the after-work estimate. The synthetic example supplies no measured customer savings.
Sources and related guides
-
OneMain FY2025 Form 10-K · OneMain / SEC EDGAR
-
Oportun FY2025 Form 10-K · Oportun Financial Corporation
