Consumer Products & Retail Success Story
How OfferUp Achieved Marketing Independence From Pardot Through a Native Salesforce Integration
OfferUp Inc. ran its marketing automation on a Salesforce-synced Pardot instance with one specialist operating it and the license expiring in February 2026. Campaign Creators moved the full asset library into HubSpot Marketing Hub Enterprise, rebuilt the Salesforce integration across six standard objects, and replaced the automation patterns HubSpot had no equivalent for. The marketing team now runs it directly, with reporting past last-touch attribution.
0
Legacy marketing assets consolidated into one system of record
0
Salesforce fields mapped across the new integration
0
Pardot forms rebuilt natively and reconnected to their workflows
0
Salesforce objects syncing through one native integration
OfferUp Inc. operates one of the largest local marketplaces in the United States. Founded in 2011 and headquartered in Bellevue, Washington, the company reached roughly 20 million monthly active users, and absorbed the Letgo app in August 2020. Company records put headcount at 300.
Behind that consumer platform sits a business-to-business sales operation. OfferUp monetizes its highest-volume sellers through a Powerseller track, Storefronts partners, and a dedicated Motors vertical, each a real sales motion with its own lead-generation forms, Salesforce pipeline, and reps working assigned leads. Internal discovery notes put the marketing organization at 10 people, with a 3-person B2B marketing team responsible for day-to-day platform operation. The automation serving every one of those segments ran through a single Pardot instance.
Industry
Consumer Products & Retail
Tools Used
HubSpot Marketing Hub Enterprise
HubSpot Content Hub Enterprise
Native Salesforce Integration
Services
Pardot-to-HubSpot Asset Migration
Native Salesforce Integration Build
Marketing Automation Workflow Rebuild
HubSpot Training
The Challenge
OfferUp continued running marketing automation through an expiring Pardot license. Every month that passed carried the risk of losing that automation entirely once the contract lapsed, with only one specialist positioned to fix anything in the meantime. Pardot synced to Salesforce but depended on that single operator, reported on a last-touch-only attribution model, and carried automation logic built around Salesforce quirks that had no direct path into a new platform.
What Pardot Could No Longer Support
1. A sole-operator dependency.
Only one person, OfferUp's B2B marketing manager, could configure or troubleshoot Pardot. This left campaign changes and lead-routing fixes dependent on a single person's availability, not the broader marketing team.
2. An expiring license with a fixed deadline.
OfferUp's Pardot contract was set to lapse in February 2026. Marketing automation itself would stop functioning unless a replacement platform was fully built and live before that date.
3. Fragile Salesforce-dependent automation logic.
Several Pardot workflows triggered off a Salesforce "Record Type" field and a custom Salesforce Flow for round-robin lead assignment. Neither pattern had a direct equivalent in a new platform, making a literal asset copy impossible.
4. A Salesforce formula field that couldn't sync.
OfferUp's On-Prem/Off-Prem designation lived in a Salesforce field type that doesn't transfer through standard integrations. Without a new field built specifically to carry it, that segmentation data would have been lost in the migration.
5. A misconfigured DNS/SPF setup tangled with an active subdomain.
The go.offerup.com subdomain was still hosting live Pardot content, and the domain's SPF record carried a duplicated directive and a missing include. Moving to a new sending domain without resolving both first risked breaking email deliverability and taking down hosted content mid-migration.
6. Last-touch-only attribution.
Pardot's reporting model credited only the final touchpoint in a buyer's journey. This left marketing and sales unable to see which channels or campaigns actually influenced a deal, limiting what either team could optimize.
We scoped this integration to standard Salesforce objects on purpose. Custom objects would have added licensing and maintenance overhead OfferUp didn't need yet, and they can always add that layer later if a specific use case calls for it. — Nick Mantegani, Campaign Creators
Why OfferUp Chose Campaign Creators
OfferUp needed a partner who could migrate a mature, Salesforce-synced Pardot instance before a fixed license-expiration deadline without losing any automation logic the sales team depended on daily, and who could hand the resulting system back to a lean marketing team to run independently. That meant covering:
-
A complete field-level Salesforce integration, with sync direction confirmed object by object
-
A full migration of forms, email templates, automation programs, and lists, tracked and verified individually, not imported wholesale
-
Rebuilt logic for automation patterns with no native equivalent, including round-robin lead assignment
-
DNS and email-deliverability remediation sequenced around a subdomain still live on the outgoing platform
-
Reporting built to move past last-touch attribution
-
Direct training so the broader marketing team, not a single specialist, could run the platform
The Solution: How Campaign Creators Rebuilt OfferUp's Marketing Automation Around a Native Salesforce Integration
Campaign Creators sequenced discovery ahead of build, tracked every Pardot asset through an individual migration checklist, and resolved each automation gap by rebuilding the underlying logic natively in HubSpot, not approximating it.
Six Standard Objects, No Custom-Object Overhead
OfferUp's existing Salesforce setup used only standard objects, and introducing custom objects would have added licensing cost and long-term maintenance overhead without a confirmed need. Campaign Creators scoped the native HubSpot-Salesforce integration to standard objects only: Contacts, Leads, Accounts, Opportunities, Cases, and Tasks, with field-level mapping set to "prefer Salesforce unless blank" for most fields and two-way sync for Close Date and Description. OfferUp can administer the integration without a custom-object licensing or support burden, and can add custom objects later only if a specific, confirmed need justifies the added cost.
Field-Level Mapping With Salesforce as System of Record
Salesforce remained OfferUp's system of record for most fields, so the integration had to respect that without creating conflicting updates. Campaign Creators configured the native HubSpot-Salesforce Standard integration and documented field-level mapping covering the Contact/Lead, Company/Account, Deal/Opportunity, and Activity/Task objects. As of the engagement's close, the integration was still running on a temporary Salesforce account, not yet the dedicated integration user OfferUp's own IT team still needs to put in place. Any future admin can trace exactly how a given field behaves without re-deriving the mapping from scratch.
526 Fields and 68 Assets Verified One by One
526 fields, 33 forms, and 35 email templates all needed to move before the Pardot license expired, without disrupting the live Salesforce pipeline those assets fed. Campaign Creators tracked every asset through a shared migration checklist, rebuilding all 33 forms and 35 email templates natively in HubSpot and reconnecting each to its corresponding workflow, not importing Pardot automation logic wholesale. Every migrated asset was individually verified against its Pardot source, so what launched to the OfferUp team had already been checked, not finalized live for the first time at go-live.
A New Field for Unsyncable Data
A Salesforce formula field (On-Prem/Off-Prem) could not sync through the standard integration, and specific Lead Status picklist values Sales relied on didn't initially exist in HubSpot. OfferUp built a new true custom field on the Salesforce side to carry the On-Prem/Off-Prem designation, and Campaign Creators mapped it into HubSpot and added the missing Lead Status values to keep both systems in 1:1 sync. Sales retained the exact segmentation and status data it depended on daily, not losing it silently in the platform switch.
Lead Routing Without Salesforce Flow
Pardot's lead assignment relied on a custom Salesforce Flow performing round-robin routing, which had no direct equivalent to carry over. Campaign Creators rebuilt that logic using HubSpot's native "rotate record to owner" workflow action. Lead assignment now runs on a supported, native HubSpot mechanism any future admin can edit directly, not a process requiring Salesforce development to change. (Role-based record views and association labels specifically were not part of this engagement's scope.)
Rebuilding Rules Off Their Salesforce Dependencies
Several Pardot automation rules depended on a Salesforce "Record Type" field absent from HubSpot's own sync, and one legacy workflow sent automated SMS outside OfferUp's contracted HubSpot plan. Campaign Creators rebuilt Pardot's automation rules natively in HubSpot workflows, deprecating any rule no longer needed once confirmed the underlying Record Type dependency didn't apply, and replacing the SMS-linked workflow with a manual "SMS Opted-In" field for reps to text consenting leads directly:
-
New free-trial email lead → automatically tagged with its originating campaign ("Set Free Trial Email Leads Source Campaign")
-
New free-trial website lead → automatically tagged with its originating campaign ("Set Free Trial Website Leads Source Campaign")
-
SMS opt-in submitted on a form → "SMS Opted-In" field set to true and "SMS Opted-Out" cleared for the assigned sales rep
-
Business-account lead with an existing opportunity → routed via the "Business Accounts with CL opp" automation rule, using rotate-to-owner
Each automation now runs on logic a HubSpot admin can inspect and edit directly, not a Salesforce field dependency or an out-of-scope SMS feature.
Five Hours of Training to End a Single-Operator Setup
Only one person at OfferUp had ever operated the prior platform, risking the same single-point-of-failure problem persisting into the new system. Campaign Creators delivered five hours of HubSpot training through a certified trainer, walked the team through account settings, user permissions, properties, integrations, and reporting, and closed the build phase with a pre-rollout Implementation Review Call that documented every remaining open item. OfferUp's marketing team can operate HubSpot directly, with a documented record of exactly what was built and what remained for the client's own IT team to finish.
The Results
The migration closed before OfferUp's Pardot license expired, with every core asset moved, tested, and connected to its HubSpot-native replacement. Key outcomes included:
-
33 of 33 Pardot forms rebuilt in HubSpot, each reconnected to its own workflow
-
35 of 35 email templates migrated, with sender and subscription-type setup confirmed
-
6 Salesforce objects (Contacts, Leads, Accounts, Opportunities, Cases, Tasks) syncing through one native integration
-
3 custom reports live: Lead Funnel Progression, Opportunity Stages Tied to Campaign Interaction, and Revenue Attribution
-
4 standard reporting dashboards configured, covering lead generation, marketing-channel performance, website analytics, and revenue attribution
-
1 new custom property added to HubSpot, mapped from a new Salesforce-side field OfferUp built to preserve its On-Prem/Off-Prem segmentation after the original formula field proved unsyncable
-
Round-robin lead assignment now running on HubSpot's native rotate-to-owner workflow action, not a custom Salesforce Flow
-
A pre-existing SPF misconfiguration across offerup.com and biz.offerup.com identified and corrected as part of the DNS cutover
-
5 hours of HubSpot training delivered directly to OfferUp's marketing team by a certified trainer
Three items remained open at the close of the engagement: Okta SSO rollout, HubSpot tracking-code installation via Google Tag Manager, and replacing the temporary Salesforce account powering the integration with a dedicated integration user, all queued as OfferUp-side IT follow-ups.
The Impact: A Salesforce Integration OfferUp Can Administer Without Custom-Object Overhead
OfferUp's marketing team now operates HubSpot directly, without the single-specialist dependency that defined its Pardot setup. Because the Salesforce integration was scoped to standard objects only, OfferUp can administer day-to-day changes without a custom-object licensing or support burden, and can add custom objects later only if a specific, confirmed need justifies the added cost. The automation patterns that had no native equivalent in Pardot, round-robin assignment and Record-Type-dependent triggers, now run on HubSpot-native mechanisms any future admin can edit directly. Three items remain with OfferUp's own IT team to close out: Okta SSO, HubSpot tracking-code installation via Google Tag Manager, and replacing the temporary Salesforce account powering the integration with a dedicated integration user.
Solve Marketing-Automation Migrations and Salesforce Integration Challenges With Campaign Creators
Businesses facing an expiring marketing-automation contract often find that the hardest part isn't moving data. It's replicating the Salesforce-dependent logic their sales team already relies on, without a native equivalent waiting on the other side. Closing that gap requires a field-by-field integration plan, a verified asset-by-asset migration, and rebuilt automation logic that a future admin can actually maintain.
Campaign Creators builds exactly that: Salesforce integrations scoped to what a business actually needs, migrations tracked and checked individually, not assumed correct, and training that hands the system back to the team that has to run it.
Talk to a HubSpot expert to see how Campaign Creators can build a Salesforce-synced marketing platform around your existing tools.
Get HubSpot Built and Integrated the Way You Work
Campaign Creators migrates teams off Pardot, Marketo, and other legacy platforms into HubSpot: asset-by-asset migration verified against source, native Salesforce integration mapped field by field, workflow rebuilds for automation with no direct equivalent, and training that hands the system to your whole team. Elite Solutions Partner, from small marketing teams to global enterprises.