Live Project

Unified Acquisition & Attribution Platform

Building a scalable acquisition and attribution platform for a multi-partner lending network.

90+

Landing Pages

12.5%

Conversion Rate

5

Attribution Paths

128%

Engagement Boost

Role

Marketing Operations Specialist

Timeline

June 2026 – Present

Status

Live

Stack

Next.js · TypeScript · Zoho Forms · Zoho CRM

Responsibilities

Research · UX Design · Development · Attribution Architecture · CRM Integration

Overview

Cashloan Experts was developed in response to several operational challenges within a growing lending network.The organization relied on Google Business Profiles, partner locations, and online applications to generate leads, but the existing infrastructure struggled to support accurate attribution, scalable partner growth, and efficient lead management.

As the network expanded, the gap between local partner presence and the company's digital experience became increasingly visible. Attribution data was incomplete, partner-specific experiences were difficult to maintain, and applicants frequently generated duplicate CRM records throughout the application process.

Zoho CRM audit view showing 1,163 duplicate lead records generated in a single month
Fig 2. Data Saturation. Internal audit from May showing 1,163 duplicate CRM records caused by the isolated multi-step form architecture before the unifed relaunch. (Click to expand)

To address these challenges, I designed and developed a Next.js-based acquisition platform that unified attribution, streamlined the application experience, and introduced scalable partner-specific landing pages while remaining compatible with the organization's existing Zoho infrastructure.

The Problem

Growth Exposed Infrastructure Limitations

The existing system had been designed for a smaller operation. As the number of internal brands, volume of leads, partners and locations increased, several limitations became apparent across attribution, lead management, and scalability.

Google Business Profile suspension dashboard showing restricted local profiles
Fig 3. Compliance Crisis. The direct impact of lacking localized digital experiences: 23 Google Business Profiles suspended due to URL and entity mismatch. (Click to expand)

Incomplete Attribution

Leads generated through Google Business Profiles could only be reliably identified under specific circumstances. Online applications often lost location-level attribution,making it difficult to measure partner performance and understand where applicants originated.

Google Business Profile tracking limited strictly to unique phone-based attribution
Fig 4. Attribution Blindspot. The reliance on unique phone numbers as the sole source of local conversion mapping. While inbound calls were accurately identified, web traffic originating from Google Business Profiles entered the CRM unbranded, blending completely into the direct traffic channel. (Click to expand)

Duplicate CRM Records

To reduce abandonment during qualification, the application process had intentionally been divided into three smaller steps rather than a single long form. While this approach lowered the initial commitment required from applicants, it introduced an operational challenge behind the scenes.

Form 1 (Contact + Vehicle info)
Form 2 (Income + Employment info)
Form 3 (Upload Documents)

Because each submission was processed independently, applicants could generate multiple CRM records throughout a single qualification journey. Agents were often required to manually identify and reconcile duplicate entriesbefore continuing the application process.

To address this, I implemented a lead continuity system using UUID generation and Zoho's upsert functionality. Rather than creating a new CRM record at each stage, subsequent submissions could identify and update the existing lead record associated with the applicant.

This preserved the benefits of a multi-step application experience while reducing administrative overhead and maintaining a more coherent customer record.

Limited Scalability

Supporting partner-specific experiences required significant manual effort.Expanding the network risked creating additional operational overhead as more locations were added.

Disconnect Between Google Presence and Website Experience

Partner-specific Google Business Profiles represented unique locations, reviews, and local presence. However, the website lacked a scalable mechanism to reflect that structure, creating a disconnect between what users saw in Google and what they experienced after visiting the website.

Research & Discovery

Before proposing solutions, I mapped the existing acquisition journey from first touchpoint through CRM record creation to understand where operational friction occurred.

Rather than evaluating the website in isolation, I examined the broader system connectinglocal discovery, qualification workflows, and internal lead management.

Lead Lifecycle Mapping

Traced the applicant journey from acquisition through CRM entry.

Workflow Review

Reviewed partner and internal qualification processes.

Attribution Audit

Identified where source information was being lost.

Pattern Analysis

Investigated duplicate record creation and continuity gaps.

Experience Comparison

Compared Google presence against the website experience.

Rather than solving each issue individually, I focused on designing a platform capable of addressing them as part of a unified acquisition system.

  • Attribution information was lost across multiple entry points.
  • Applicants generated duplicate CRM records during qualification.
  • The application experience felt fragmented between stages.
  • Partner-specific experiences required significant manual effort.
  • Google Business Profiles and website experiences operated independently.

The Solution

Dynamic Partner Landing Pages

Dynamic partner landing page demonstrating automated localized layout
Fig 7. Dynamic Partner Infrastructure. The newly deployed Next.js landing page system. By leveraging slug-based dynamic routing, a single template automatically renders customized brand assets, local reviews, and specific partner location data on the fly. (Click to expand)
Dynamic Route
Landing Page
partnerData.ts
Reviews
+
Location Info

The first challenge was creating a scalable way to support a growing network of partner locations without building and maintaining individual landing pages for each one.

const partners = {
  halfpriceauto: {
    partnerName: "Half Price Auto Repair",
    locationName: "Phoenix",
    state: "AZ",
    heroImage: "/images/partner_card.png",
    attribution: {
      partner: "Half Price Auto Repair",
      brand: "Cash Loans Experts",
      trafficSource: "GMB",
      location: "Phoenix",
      mainSource: "Partner",
      utmCampaign: "gmbrecovery",
      utmSource: "gmb",
      utmMedium: "google"
    }
  }
};
Code Schema 1. Centralized Partner Schema. Snippet from partnerData.ts. Instead of deploying 468 separate assets, new partner onboarding is reduced to appending a key-value object that controls the entire layout and tracking architecture programmatically.

Each landing page was designed to surface location-specific information, including partner details and customer reviews associated with that location.This created a stronger connection between local Google Business Profiles and the website experience, allowing users to see content that reflected the specific location they had discovered online.

Dynamic XML sitemap showing programmatic partner location routing
Fig 8. Dynamic Indexation Architecture. A snapshot of the programmatically generated XML sitemap. Rather than maintaining static links, the application queries the data repository to dynamically compile location URLs, shown here during the initial database migration phase. (Click to expand)

At launch, the system supported more than 90 partner locations and provided a foundation for future expansion without requiring significant development effort for each new partner.

Attribution Framework

Accurate attribution was one of the primary goals of the project.

The previous acquisition process provided limited visibility into how applicants discovered the business, particularly when leads originated from partner locations or Google Business Profiles. This made performance analysis and partner reporting difficult.

To address this, I designed a flexible attribution framework capable of identifying multiple acquisition scenarios. The system supports direct website traffic, partner referrals, Google Business Profile traffic, campaign-based attribution through URL parameters, and future Google Ads attribution.

  • User Visit
    • Is this a Partner URL?
      • Yes
        Partner Attribution
      • No
        Google Ads (GCLID)?
        • Yes
          Google Ads Channel
        • No
          UTM Present?
          • Yes
            Campaign Source
          • No
            GBP?
            • Yes
              GBP (Local)
            • No
              Direct Traffic

The attribution logic was designed to persist throughout the user journey, ensuring that source information could be preserved as applicants progressed through the application process and entered the CRM.

Unified Application Experience

The existing application process relied on multiple forms that operated independently from one another. While each form served a specific purpose, the overall experience felt fragmentedand introduced unnecessary friction for applicants.

One of the most significant issues was that users were required to re-enter identification and contact information they had already provided during earlier stages of the application process. Beyond creating a poor user experience, repeated data entry risked increasing abandonmentand reducing trust in the application flow.

To demonstrate the mechanics of this unified journey, the sequence below captures an end-to-end user evaluation tracing browser-state persistence and telemetry alignment across the ecosystem:

Custom frontend logic was also used to connect the application stages into a more cohesive experience while maintaining compatibility with the organization's existing Zoho Forms infrastructure. The result was a more seamless qualification journey that reduced redundant data entry, improved continuity between application stages, and created a smoother experience for both applicants and internal teams.

CRM Data Continuity

One of the most significant operational issues identified during research was the creation of duplicate CRM records throughout the application process.

Because applicants completed multiple forms at different stages, each submission generated a new record that agents were required to manually reconcile.

To reduce duplication, I implemented client-side data persistence that maintained user information between application stages. This allowed data to flow more consistently through the qualification process while reducing manual administrative work for the sales team.

Beyond improving operational efficiency, this approach also created a more seamless experience for applicants by minimizing redundant data entry.

Technical Architecture

The platform was built using a lightweight architecture that leveraged existing company systems while introducing a more scalable frontend layer.

Partner Network

Acquisition Platform

Attribution
UX
CRM Continuity
System LayerTechnology StackOperational Role
Frontend CoreNext.js + TypeScriptDelivers fast, dynamic, and type-safe localized rendering of landing pages.
Form ProcessingZoho FormsIngests multi-stage applicant data through secured embed frameworks.
Central CRM DatabaseZoho CRMStores unified customer lifecycles and tracks historical pipeline conversions.
Session PersistenceBrowser LocalStorageCaches applicant metadata client-side to prevent redundant manual typing.
Partner RegistrypartnerData.ts SchemaActs as a single centralized JSON repository to scale localization assets dynamically.
Dynamic RoutingSlug-based URL PathsGenerates SEO-ready partner endpoints on-the-fly and maps dynamic XML sitemaps.
Attribution EngineClient-side TelemetryResolves acquisition sources (GCLID, UTMs, GMB, Organic) under strict priority rules.

Early Launch Results

To evaluate the direct performance impact of the newly deployed dynamic platform, we tracked baseline vs. live metrics during the first 10 days following the relaunch.

MetricBeforeAfter
Conversion Rate7.9%12.5%
Engagement RateBaseline+128%
Inbound Quality Leads38%51%
Avg. Engagement Time21s48s
Step 2 CompletionN/A71%
While the sample size was still limited a bit after the first week after launch, the results showed a clear improvement in engagement and conversion trends. These early indicators were strong enough to support a recommendation to begin allocating paid media budget to the new experience.

Lessons Learned

One of the biggest lessons from this project was that attribution, user experience, and operational efficiency are often deeply connected.

What initially appeared to be a website redesign evolved into a broader acquisition infrastructure project that touched CRM workflows, partner management, attribution systems, and customer experience.

The project reinforced the importance of designing scalable systems early, particularly when supporting a growing network of partners and locations.

View Live ↗