Skip to content
GoHighLevel CRM Integration
  • Home
  • About
  • Contact
  • Documentation
  • My account
GoHighLevel CRM Integration

How can we help you?

Getting Started

6
  • What Is HighLevel Sync?
  • Quick Start – Setup Wizard
  • Plugin Dashboard Overview
  • Free vs Pro Feature Comparison
  • Installation Guide
  • System Requirements

Connection & Authentication

5
  • Connecting via OAuth2
  • Manual API Token Authentication
  • API Scope Detection
  • Multi-Location & Agency Setup
  • Disconnecting & Reconnecting

Field Mapping

4
  • Setting Up Field Mapping
  • AI-Assisted Field Suggestions (Pro)
  • Extended Field Mapping (Pro)
  • Computed & Virtual Fields

User Synchronization

6
  • How User Sync Works
  • Sync Preview & Dry Run (Pro)
  • Bulk User Sync
  • User Profile GHL Section
  • Handling Login Tracking
  • Configuring User Sync Settings

Tag Management

3
  • Role-Based Tagging System
  • Global Tags (Pro)
  • Tag API & Helper Functions

Content Restrictions

5
  • Tag-Based Content Restrictions
  • Using the [ghl_restrict] Shortcode
  • Gutenberg Restricted Content Block
  • Elementor Widget Conditions (Pro)
  • Archive & REST API Protection (Pro)

Forms

3
  • Embedding GoHighLevel Forms
  • Per-Form Submission Limits (Pro)
  • Contact Form 7 Integration

Webhooks & Inbound Sync

4
  • Setting Up Inbound Webhooks
  • Webhook Event Types
  • Bulk Import from GoHighLevel
  • Ping-Pong Prevention

WooCommerce Integration

4
  • WooCommerce Integration Overview
  • Per-Product GHL Tags (Pro)
  • Abandoned Cart Tracking (Pro)
  • WooCommerce Pipeline & Opportunities (Pro)

LearnDash Integration

5
  • LearnDash Integration Overview (Pro)
  • Course Enrollment & Completion Tags (Pro)
  • Quiz Score-Based Tagging (Pro)
  • Syncing Course Progress to GHL (Pro)
  • LearnDash Group Sync (Pro)

BuddyBoss Integration

3
  • BuddyBoss XProfile Field Mapping (Pro)
  • BuddyBoss Group Admin Metabox
  • BuddyBoss Group to Custom Object Sync

Custom Objects

3
  • Custom Objects Overview (Pro)
  • Mapping Post Types to Custom Objects (Pro)
  • Custom Object Contact Associations (Pro)

Family Relationships

4
  • Family Relationships Overview (Pro)
  • Managing Family Members
  • Family Tag Inheritance (Pro)
  • Family BuddyBoss Groups (Pro)

Advanced Features

9
  • Conditional Navigation Menus (Pro)
  • Sync Queue & Action Scheduler
  • Analytics Dashboard (Pro)
  • Sync Logs & Troubleshooting
  • Security Best Practices
  • WordPress Multisite Support
  • REST API Endpoints (Pro)
  • Auto-Login Links
  • Email Notifications

Developer Guide

3
  • Available Filters & Actions
  • Extending the Sync Engine
  • Custom Content Restriction Logic

Troubleshooting & FAQ

5
  • Uninstalling the Plugin
  • Frequently Asked Questions
  • Webhook Troubleshooting
  • Rate Limits & API Quotas
  • Common Issues & Solutions
View Categories
  • Home
  • Documentation
  • Field Mapping
  • Computed & Virtual Fields

Computed & Virtual Fields

< 1 min read

What Are Virtual Fields? #

Virtual fields are values that don’t exist as stored user meta but are computed dynamically at sync time. For example, LearnDash course progress percentages are calculated on-the-fly rather than stored in a static meta field.

How They Work #

The plugin uses the ghl_crm_resolve_field_value filter to resolve virtual field values. When a sync operation encounters a mapped field that matches a virtual field pattern, the filter runs and returns the computed value.

Examples #

  • LearnDash progress — ld_progress_percentage_{course_id} resolves to the user’s current completion percentage in that course.
  • LearnDash status — ld_progress_status_{course_id} resolves to not_started, in_progress, or completed.

For Developers #

You can register your own virtual fields by hooking into ghl_crm_resolve_field_value:

add_filter('ghl_crm_resolve_field_value', function($value, $field_key, $user_id) {
    if ($field_key === 'my_custom_field') {
        return calculate_my_value($user_id);
    }
    return $value;
}, 10, 3);
Table of Contents
  • What Are Virtual Fields?
  • How They Work
  • Examples
  • For Developers

Was it helpful ?

  • Happy
  • Normal
  • Sad

© 2026 HighLevel Sync — Built for GoHighLevel agencies.

  • Home
  • About
  • Contact
  • Documentation
  • My account