GHL Affiliate → WordPress User Sync + Universal Campaign Library with User-Specific Tracking Links (AppMySite)

Job ID: 40162674

Budget: $250 – $750 AUD

Overview

We are extending an existing GoHighLevel (GHL) Affiliate onboarding and referral system to support a mobile app built via AppMySite. The app will authenticate users against WordPress, then display a universal campaign library (campaign URLs, funnels, websites, etc.).

All authenticated users will see the same campaign list, but each user must see their own personalised tracking URL for every campaign.

This brief is intentionally concise; developers are expected to propose and validate the best technical approach and confirm feasibility.

Current State (Already Built)
- A form currently creates:
- - An Affiliate in a GHL sub-account
- - A corresponding User (admin) in GHL
- Referrals are already being connected/attributed inside GHL

Requirements

1) GHL User → WordPress User Synchronisation
Extend the existing onboarding flow so that:
- When a user/affiliate is created in GHL, a corresponding WordPress user is created
- WordPress user must store a stable mapping identifier(s), for example:
- - ghl_contact_id
- - ghl_user_id (if applicable)
- - affiliate_id (preferred if available)
- When user details change in GHL (name, email, status), those changes must synchronise to WordPress
- GHL remains the source of truth for identity

Note: Authentication to WordPress should be simple for end users (password or passwordless/magic link—developer to propose).

2) Universal Campaign / Asset Library in WordPress

We will maintain a single library of campaign assets in WordPress (not per-user assigned), such as:
- Campaign pages/URLs
- Funnels
- Websites
- Templates and resources

WordPress can store this as:
- Custom Post Types + metadata, or
- Pages + structured fields

The WordPress front-end does not need to be visually styled; it can act primarily as a structured content/data source.

3) User-Specific Tracking URL Generation (Core Logic)

Once a user is authenticated, every campaign asset must display a unique tracking URL for that user.

Developers must propose the URL strategy, e.g.:

- Append affiliate tracking parameters, such as:
- - ?ref=<affiliate_id> (or the required parameter format for GHL affiliate attribution)
- Or generate a clean URL structure, such as:
- - /go/<campaign-slug>/<affiliate-id>

Key requirements:
- The tracking identifier must reliably map back to the correct GHL affiliate/contact
- The system must support changes (e.g. if affiliate ID changes or user is disabled)
- The approach should minimise per-user duplication (ideally generate links dynamically)

4) AppMySite Integration Approach
- AppMySite will:
- - Authenticate using WordPress login
- - Pull campaign data from WordPress via REST API connection
- - Render the UI in-app

After login:
- The app should show the universal campaign library
- Each campaign item includes the current user’s personalised tracking URL

Developers are not required to build the AppMySite app itself, but must ensure the WordPress/API layer supports AppMySite consumption.

Deliverables
1. Confirmation whether this approach is feasible with AppMySite + WordPress REST patterns
2. Proposed architecture for:
- GHL → WordPress user sync (create/update/deactivate)
- Campaign library storage model
- Per-user tracking URL generation method
3. Minimal implementation plan and any constraints/risks

Security / Data Handling Notes
- All campaign content is visible to any authenticated user (no per-campaign access control)
- WordPress must still require authentication to access the library and/or API endpoints used by the app
- Ensure tracking links cannot be easily “spoofed” if the affiliate attribution requires protection (developer to advise)

How We’ll Evaluate
- Clear understanding of GHL APIs/webhooks/workflows
- Clean WordPress user mapping and safe REST exposure
- Practical, scalable tracking URL approach
- Ability to validate feasibility quickly and communicate constraints