Skip to main content
This document outlines what you need to set up manually.

1. HighLevel Form Custom Field Mapping

Required: Map cr_attrib from URL parameter to HighLevel custom field.

Steps

  1. In HighLevel, go to Forms → Settings
  2. Add a custom field named cr_attrib (or your preferred name)
  3. Configure the form to capture cr_attrib from URL parameter:
    • In form builder, add a hidden field
    • Set the field to read from URL parameter cr_attrib
    • Map to the custom field
Do NOT use the source field for cr_attrib. Use a custom field. The source field is used for UTM fallback only.

2. WordPress ACF Fields

Required: Create ACF fields for CTA data storage.
  • {position}_headline_text
  • {position}_subheadline_text
  • {position}_button_text
  • {position}_cta_subtext
  • {position}_cta_url
  • {position}_main_image
  • {position}_cta_id
  • {position}_utm_source
  • {position}_utm_medium
  • {position}_utm_campaign
  • {position}_utm_content
  • {position}_utm_term
  • {position}_cta_full_url

Option 1: Use Our Checker Script

Call /api/integrations/wordpress/check-acf-fields to check/create fields automatically.

Option 2: Manual Creation

Create fields in ACF UI or via PHP code.

3. GTM Container Deployment

Required: Deploy the GTM container to your website.
  1. Export GTM container configuration (we provide the structure)
  2. Import into your GTM account
  3. Deploy to your website

4. Attribution Script Deployment

Required: Include elementor/utils/attribution-tracker.js on all pages.

Option 1: WordPress Theme

Add to functions.php:
function enqueue_attribution_tracker() {
  wp_enqueue_script(
    'attribution-tracker',
    get_template_directory_uri() . '/elementor/utils/attribution-tracker.js',
    array(),
    '1.0.0',
    true
  );
}
add_action('wp_enqueue_scripts', 'enqueue_attribution_tracker');

Option 2: Elementor

Add as a custom script in Elementor settings.

Option 3: Direct HTML

Include in <head> or before </body>:
<script src="/elementor/utils/attribution-tracker.js"></script>

5. Daily Rollup Job Configuration

Required: Set up a cron job to run the rollup daily.

Option 1: Vercel Cron

Add to vercel.json:
{
  "crons": [{
    "path": "/api/jobs/rollup-asset-performance",
    "schedule": "0 2 * * *"
  }]
}

Option 2: External Cron Service

Call POST /api/jobs/rollup-asset-performance daily with Authorization: Bearer {CRON_SECRET}.

6. Scoring Rules Configuration

Optional but Recommended: Configure scoring rules for your optimization objectives.
  1. Go to Settings → Optimization → Scoring Rules
  2. Create rules for each objective (visibility, engagement, offer_attention, conversion)
  3. Set metric weights (must sum to 1.0)
  4. Set priority thresholds

7. Privacy Mode Configuration

Optional: Adjust privacy mode per website.
  • Strict (default): Nulls referrer/click IDs immediately
  • Standard: Allows with retention caps
  • Debug: Auto-expires after 7 days
Configure in website settings.