You can now create pages programmatically via the new POST /pages endpoint. Additionally, Funnel and Site API responses now include custom code fields (header code, footer code, etc.), enabling full control over funnel and site customization through the API. Note: Page creation and custom code writing functionality is currently in private beta, please contact support if you're interested.

We added more information about the invoice_type of the Orders::Invoice resource and added the ability to have different invoice types during the creation of an external subscription order invoice:

Enrollment records now show more info about the associated contact and course:

    {
        "id": 4274,
        "public_id": "ePlWEe",
        "contact_id": 827717,
        "course_id": 1019,
        "created_at": "2025-10-07T11:39:29.432Z",
        "updated_at": "2025-10-07T11:39:29.447Z",
        "suspended": false,
        "suspension_reason": null,
        "current_path": "/enrollments/74c0131fe387b566edadce97832c191b",
        "origination_source_type": "Contact",
        "origination_source_id": 827717,
        "course": {
            "id": 1019,
            "public_id": "oewmDj",
            "title": "Running QA"
        },
        "contact": {
            "id": 827717,
            "public_id": "vOmzwm",
            "email_address": "[email protected]",
            "first_name": "Rich",
            "last_name": "Stone",
            "phone_number": null
        },
        "percentage_completed": 0
    }

We have added two new fields to our Page resource: type and show_page_step, so you always know what kind of page it is and can easily map it to a page inside of ClickFunnels:

  {
    "id": 61,
    "public_id": "HMjyNF",
    "workspace_id": 42000,
    "name": "Great Page",
    "theme_id": null,
    "created_at": "2025-01-01T00:00:00.000Z",
    "updated_at": "2025-01-01T00:00:00.000Z",
    "type": "landing_page",
    "current_path": "/my-page-example",
    "show_page_step": null
  }

For more information, you can refer to our Page docs.

We are also now including the full page information inside of our FormSubmission resource, so you know where your submissions come from:

  {
    "id": 2,
    "public_id": "IYHjDs",
    "contact_id": 85,
    "workspace_id": 42000,
    "page_id": 11,
    "created_at": null,
    "updated_at": null,
    "data": {
      "url": "/contact",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]"
    },
    "page": {
      "id": 11,
      "public_id": "yTPMCR",
      "workspace_id": 42000,
      "name": "Great Page",
      "theme_id": null,
      "created_at": "2025-01-01T00:00:00.000Z",
      "updated_at": "2025-01-01T00:00:00.000Z",
      "type": "landing_page",
      "current_path": "/my-page-example",
      "show_page_step": null
    }
  }

There was a global change within the ClickFunnels app to implement a bug fix that enforces tag name uniqueness within each workspace. This change affects the following tag types:

Affected Endpoints:

Contacts::Tags - POST /workspaces/{workspace_id}/contacts/tags

Product::Tags - POST /workspaces/{workspace_id}/products/tags

Funnel::Tags - POST /workspaces/{workspace_id}/funnels/tags

Orders::Tag - POST /workspaces/{workspace_id}/orders/tags


Impact: This is a breaking change for integrations that create duplicate tag names for any reason.


What Changed:

  • Tag names must now be unique within each workspace (duplicate tag names were retroactively renamed, e.g., duplicated tag name became duplicated tag name (copy 1), duplicated tag name (copy 2) etc.

  • The API will return validation errors when attempting to create tags with duplicate names.

  • Existing duplicate tags remain unaffected, but no new duplicates can be created.

🛒 External Orders product mixes

In the initial phase of the External Orders BETA, subscription orders and one-time orders could only hold those types of products. Now, the subscription-order orders can hold one-time orders and multiple subscriptions if they are of the same duration.

📈 GA4 pixels

You can now add your Google Analytics GA4 pixel to your website settings and listen for browser events on all your pages. If you additionally add the Google Analytics API key for the GA property, you will now also receive generate_lead server-side events in GA.