Ninja Forms and Bitrix24

Integration of WordPress Ninja Forms and Bitrix24 CRM with UTM tags and no limits.

WordPress Ninja Forms 🧡 Bitrix24

WordPress Ninja Forms and Bitrix24 Integration Integration of WordPress using Ninja Forms and Bitrix24 CRM enables the automatic creation of Leads or Deals when a user submits a form. Key benefits of the plugin include support for an unlimited number of sites, forms, and fields, automatic search and attachment of existing Contact and Company information from CRM. The module can be configured in just 5 minutes.

Smart "Contact Enrichment" provides additional information, while tracking and sending UTM tags enhances analytics. The plugin also supports "Sales Intelligence" to determine the most effective sources, built-in support for a single phone format, and control of repeat leads.

In addition, the plugin provides transfer of visit IDs for the conversion plugin and transfer of visited pages to the Lead for better understanding of customer needs. Due to the use of queues, the plugin provides high reliability and speed of work. Free support is available for all users.

Fields integration

Integration creates a Lead or Deal. The module configures the correspondence of fields on the Site and CRM. There is no limit on the number of leads and fields!

Fields integration

UTM tags and analytics

The module on the site remembers and transmits detailed user analytics: UTM tags, visited pages, client identifiers (Google, Facebook, Yandex), referral domain, client IP address. The plugin fully works with end-to-end analytics!

UTM tags and analytics

Order with product

You can transfer goods to a Deal or LEAD. There is a product search option to link the product on the Site and in CRM (required for inventory control).

Order with product

Queue of responsible

Configure who will receive applications and in what order. A new appeal from a familiar client will go to the manager who previously worked with the client (optional, if the manager is not fired).

Queue of responsible

Phone auto-formatting

For accurate customer identification, phones must be stored in a single format. Select one or several countries and in what format the number should be given. The module supports ALL countries. Each phone number is cleared of letters and special characters.

Phone auto-formatting

And much more…

Search for Contacts and Companies, control of repeated leads, notifications to the responsible, replacement of the price and name of goods from the Bitrix24 catalog, installation, consultations and support.

It is possible to customize the plugin for client requests.

30 days free trial period

Test first, then buy. Each of our modules has a free trial period of 30 days. During testing, you will receive full technical support.

The module is available in Bitrix24.Market Plus subscription (Russian portals only).

🔥 You can buy Bitrix24.Market Plus from your integrator or from us.

Instructions for installing and activating a trial.

Free 30 days
$6 month
$60 year


Details about payment methods. Have questions - contact us.

  • Private cloud or on-Premise
  • Custom Development
  • Premium Support
  • No limits
  • Product Training
  • Maximum performance


Thanks to a single open API, the programmer can customize the integration for any task. SDK (feature set) speeds up your work several times!


// Put this on every page, if need catch UTM
\Flamix\Bitrix24\Trace::init('Your page title');

//When sent form
try {
} catch (\Exception $e) {

Ready modules for CMS

For popular CMS, we have developed modules that can be installed in a few clicks and placed in the official marketplaces.
Enter the data in the fields and the integration will work!

Version history

Current stable version — v1.5.0, 10.08.2022

The app works in the cloud and updates automatically.

v1.5.0, from 10.08.2022 Show
4 0 6 122
  • Tilda:Improve instuctions v2
  • Tilda:Improve instuctions
  • Phpne formating & Lang files
  • Add manualy phone format
  • Phone plugin
  • GDrive Upload file link
  • Tilda: Fix promocode & Find_BY
  • Phone:Bug when cant find contact
  • Tilda: fix syntacsys error
  • Status error on some portal
  • Forgot passwor now on English
  • Fix bug when take Trial
  • Update font size on Demo UI
  • Minify JS & CSS to product
  • Update Trial UI
  • Update License UI
  • Move env() to config()
  • Update Laravel to v.9
  • Remove error_log from commit and add to ignore
  • Prepare to proxy sent status
  • Fix table_lead_field_product_xml_change translate
  • GForms: Ignore left menu
  • Fix typo in instructions
  • GForms: Add translate & config
  • Add XML_ID changer to Woo
  • Add default APP_KEY
  • Remove some translate
  • Add Rozetka translate status
  • Fix custom produc search
  • Hot fix: Disable new env
  • XML_ID translate
  • Add FIND_BY custom
  • Rozetka fix CMS
  • Fix wrong SKU search
  • Fix bugs with Bridge of Fields
  • Fix Protal Id in new FieldValue Controller
  • Add payment to tilda
  • Add boolean and select types
  • Optimize Lead and Deal code
  • Add rozetka env
  • Menu & Proxy Hot fix
  • Add Domain to Proxy
  • Tilda: Fix options
  • Fix Auth rules bug
  • Hot fix
  • Fix menu
  • Add Marketplace to menu
  • Update Rozetka env
  • Tilda - Fix Promocode error
  • Marketplace: Rozetka integrations init
  • Disable auto queue and fix tilda vatiation bug!
  • Formating CMD: Queue auto start
  • Add cmd queue check to sheduller
  • Add cmd queue check to sheduller
  • Add CMD: Queue auto start
  • GForms: Add URL
  • GForm: Add new bright
  • fix problem whi bitrix installing
  • Add Bitrix installing
  • Child fix
  • Dev: Chance queue to sync
  • Bug with LEAD access
  • Tilda: Add order_id to field
  • Fix bug with LEAD -> DEAL convertations
  • Fix license bug
  • Add api_token to Robots toute
  • Robot: Search duplicates
  • Add video to apps (tilda, wp, op, gdrive, paperless)
  • Fix tilda all FIELDS
  • Tilda PRO: Improve Product & Delivery info
  • Fix error with route
  • Fix bug with queue listen
  • Add all UTM
  • Integrations:Create field button & Translate status functionality
  • Create status field p.1
  • Sort status
  • Improve status change
  • Phone: Fix 500 in bath page
  • Delete left menu on tilda
  • Tilda fix menu
  • Phone format pay version
  • Add Tilda config
  • Fix bug with Phone on batch
  • Improve QUEUE interval, and uniq Lead
  • Change save method
  • Fix tilda controller
  • Fix error with send msg
  • Fix error with send message in Queue
  • Add tilda views
  • Tilda: Fix product
  • Disable caching on Queue
  • Add Log to Status Order_ID field
  • Change Queue to DB
  • Add Queue Cron Checker
  • Tilda&Product controller mod
  • Pretty syntacses
  • Modify Lead Add second parameter to objects
  • Improve Logs Views
  • Fix Portal Log
  • feauture: Lead Add now work EXTRYMLY FAST with Queue
  • Move DebugBar to Middelware & Remove $type from integrations
  • Queue prepare
  • Improve Logging in Integrations
  • Fix bugs with email parse
  • Tilda v.1
  • Fix Phone Batch format
  • Country must be always array
  • Fix error with phone formatig NAME
  • Menu fix for OnePhone
  • Phone - change token
  • Fix route problem
  • Modify Phone config
  • Finance - add CRM close
  • Remove UA default version from phone
  • Finance Robot v1
  • Add finance robot
  • Update
  • Finance setting bone
  • Array to string convertations
  • Add finance route
  • Add phone env & web route
  • Phone format run for all base
  • Deny free plan
  • Fix error with non admin user & add license
  • Fix Queue bug
  • Remove composer.lock from git
  • Fix product bug
  • Refacroting product and integration
  • Refactoring p3
v1.2.0, from 25.09.2021 Show
10 0 1 102
  • Lead and Site sync
  • Lead and Site sync
  • Add lead CRM sync
  • Add lead CRM sync
  • auto setting
  • Fix bugs with auto duplicate options
  • Setting bugs in WP fixed
  • Change days word
  • Add English to Default Language
  • Fix HTTP_HOST in app.php
  • Move get ORDER_ID to StatusController
  • Fix bug with order ID
  • Update UI
  • Update UI
  • Add new error controle
  • Improve Status Validations
  • Oprimize Add Lead
  • Add URL to Fields
  • secure:Lead sync error
  • Add Lang to Public API
  • Add public API
  • GDrive pay Bill ID
  • Update GDrive Pay Version
  • Modify .env ALL
  • Change LOG
  • Add top menu
  • Delete menu
  • Fix Google Drive error
  • Add GDrive public
  • Add Google Drive Base
  • featire:Add WP&WooCommerce payed version
  • Small changes
  • Add danger fields msg
  • secure: Update status event provider
  • Add instructions and translate
  • Bind page
  • Almost finish status
  • Status fix
  • Compleate Status p3
  • Add status view
  • Status p2
  • Status dev version
  • fix
  • Smart Apps Cheking
  • Add OpenCart module
  • Light Dublicate Controlle
  • Add Product finder
  • Add Double
  • Add Integer and Date
  • Fix default Route to WooCommerce
  • Update main server
  • Change env scope
  • Fix Bug with phone number
  • Add Currency
  • Add URL and some translate
  • Update ENV, Make all app Free, Add WooCommerce
  • Add bad browser msg
  • Fix bug with email
  • Lead: Support File Upload
  • Fix bugs with setting
  • Fix user msg bug
  • Update UI
  • Change email filter
  • Change login
  • Add menu and some insert fix
  • Ad if to placement
  • Add norm user blade
  • hide menu and update UI Css
  • add gitignore to upload
  • Fix dropzone
  • Update UI
  • Back up restore
  • Update UI
  • Fix dropzone and add new Bitrix product
  • Update UI and add new support plane
  • Update UI
  • Add CRM plan to env
  • Change prefix ECP
  • Change Menu
  • Change Menu
  • Change Menu
  • Change ECP default route
  • Change Access settings
  • Pre deploy
  • Finish finance auth
  • secure: Fix bug with access
  • Add Bitrix and Frameworks
  • Start ECP programming
  • Secure: Change app start setting and Header Menu
  • Delete UI Lang file
  • Fix bugs when have only PRODUCT_ID
  • Bug with product finder
  • Add url to deal and order
  • Add Product Finder
  • Report ro telegram
  • Small changes
  • Fix Lead Bugs, add WP and add Deal
  • hide QUQUE
  • Translate menu
  • Lang and some settings
  • separated some functions
  • Add separeted Custom fields
  • Change multilang and Envoy
  • Add multy domain
  • Add Eng and UA translate
  • Add translate
  • Add Russian translate
  • Update UI
  • Change some UI
  • Update UI
  • Update UI
  • Too many changes
  • Add email validation
  • Change DOMAIN select algorythm
v0.1, from 16.12.2020 Show
0 0 0 1
  • Init

To write to support (add a ticket), you must:

  • Go to the portal
  • Enter your mail and password. If you have not registered before, you need register. If, when you try to register, the system says that the user is found, you must reset the password;
  • After successful authorization, click on the "Support" menu item, then the "Add" button;
  • Describe the error in detail, attach screenshots and click the "Submit" button.

The ticket has been successfully created!
It is recommended not to close the tab until the problem is resolved since emails with replies sometimes end up in spam!

  • Go to the module page and find the "Install" block;
  • In the field next to the "Install" button, enter your Bitrix24 portal domain and click the "Install" button;
  • Accept all agreements and click "Install";
  • Click the button "Start Your Free Trial" (1), or paste your license key (2), if you have one;
  • If you have activated the trial, be sure to enter your valid email, this is where we will send the license key (check the spam if you did not receive it).
  • Open the application in the Bitrix24 portal, go to the "License" page (1) and select the desired subscription period (2).
  • Go to the license verification page - (1) and enter your license key (2), click the "Check" button (3). If the license key is correct, you will see the "Prolong" button at the bottom (4).

A 20-25% discount is given to anyone who purchases a yearly subscription. You can find the discount amount on the "License" page of the application.

Special prices if we become your Bitrix24 partner. In addition to the special price, and free setup, we can make basic settings for you, and advise on any issues related to the operation of Bitrix24 or the development and optimization of your business's Business Processes. The only thing you require is to buy Bitrix24 through us (the same price, additional benefits from the Bitrix24 gold partner). Write to us if you are interested in this offer.

Note! If you already have an integrator, we can’t become your integrator again even if you want to change it.

When something goes wrong or you need to send logs to support, then you need to follow these steps.

  • Open the app and scroll to the bottom;
  • Click on the "Log" link.

log_1.png Here you can see all the information that we log. If you are a technical person, you can check the logs and find the problem.

In addition, we sometimes request a link to the log. To generate it, you simply press the "Generate link" button. Copy and send this link to us. The link is valid for 2 days.


Have you extended your license, but the term has not changed? The license key is cached upon purchase and is only reset upon automatic renewal. If for some reason it did not last, try to throw off the license cache in billing(Licenses are displayed on the Services -> Licenses page) and update the "License" page in the module.


If that doesn't work, please write to support.

An Enterprise license is required in the following cases:

  • You regularly more than 500 hits to the plugin per day;
  • We need a modification of the Bitrix24 plugin for you;
  • You want the program to work on your servers.


  • We sign NDA and service contracts;
  • We allocate a separate VPS for you;
  • Setting up environments, deploying a repository with a plugin (if you need support and updates);
  • We send separate assemblies of plugins for CMS or set up the integration ourselves;
  • We organize monitoring and support 24/7.

For purchasing write in any convenient way.

Important! We do not share the code with the customer.

UTM tags are labels in a link that help determine where a visitor came from to your site.

Typically, these labels are added manually. Some advertising systems set them automatically when someone clicks on an advertisement. However, if a visitor comes to your site not from an advertisement, such labels usually aren't present.

Imagine that you ordered a promotional banner on SITE.COM. If the banner features a simple link like "", no additional data will come to your site when someone clicks on it. For your site to recognize that the visitor came from SITE.COM, the link should look like this: "". This way, your site will see this tag and understand that the visitor arrived from SITE.COM.

This mechanism dynamically sets UTM tags by detecting the click's source. Let's compare two scenarios when someone accesses your site from organic traffic:

  • Without SmartUTM: Clicks from Google's organic search don't automatically set UTM tags, so your site won't show the "utm_source" tag.
  • With SmartUTM: If someone clicks from Google's organic search, our plugin reads the referral and automatically sets “” on your site.

This functionality works for any website. Remember, manually-set UTMs take precedence over dynamic ones. So, if a link already contains “utm_source”, Smart UTM won't override it.

To understand the usefulness of this option, it is necessary to consider a small example. Let's imagine that you have a Contact who left a message in a simple form, where put only his first name, phone number, and comment. In Bitrix24, a Contact will only have a phone number and a first name. After some time, this Contact will make an order in-store and send ALL Contact info. In this case, we may lose some of the data, because the plugin will find a previously created Contact (which does not contain a phone number and last name) and link it to a Deal or a LEAD.

You must enable the "Enrichment contact" option to prevent this from happening. Go to settings, and turn it on. If this Contact is found, the plugin will add all the standard fields if they are not previously filled. For example, if you filled Contact name, then it will not change.enrich_1.png

The functionality works with the following fields:

  • First name;
  • Middle name;
  • Last name;
  • Phone number;
  • Email.

There are several ways to add additional fields in the plugin. Consider an example of adding custom fields in WordPress. Other CMS have similar functionality (look for the name of filters or hooks in the plugin documentation for the desired CMS). This instruction is intended for webmasters.

Universal way

This method is good because it is built on the basis of the SDK and is not tied to the CMS and is used for any submission. For example, let's consider a task where when submitting any form or order, you must always add HTTP_REFERER, SITE_DOMAIN and Google Client ID without GA. The disadvantage of this method is that it works until all fields are received, i.e. in fact, you will not know which fields you are passing. If this is WordPress, then the first and stable entry point of any file is functions.php. To solve this problem, add the following code to the functions.php file:

try {
	$flamix_extra_fields = [
                'SITE_DOMAIN' => '',

	$cookie_ids = \Flamix\Conversions\Conversion::getFromCookie();
	if(!empty($cookie_ids) && isset($cookie_ids['_ga']))
		$flamix_extra_fields['google_client_id'] = preg_replace('/GA[0-9].[0-9]./', '', $cookie_ids['_ga']);

    unset($cookie_ids, $flamix_extra_fields);
} catch (\Exception $e) {

WordPress Filters

If you need to change order fields or goods using previously created fields (for example, order number, customer name, etc.), you must use filters. We place filters in the functions.php file. The available filters are:

  • flamix_bitrix24_integrations_fields_filter $fields
  • flamix_bitrix24_integrations_product_filter $products, $order_id
  • flamix_bitrix24_integrations_filter $data

Pay attention! Filters are universal for all WordPress plugins! This means that if you change the fields using flamix_bitrix24_integrations_fields_filter, then the filter will be applied both for the WooCommerce module and for Contact Form 7 or Ninja Form. This restriction obliges you not to be 100% sure that some of the incoming parameters will definitely be. For example, ORDER_ID will only be in WooCommerce. An example of implementing the task of adding a title for a Lead with the necessary information:

function flamix_bitrix24_integrations_fields_example_callback($fields) {
    if(isset($fields['ORDER_ID']) && $fields['ORDER_ID'] > 0)
        $fields['MY_BITRIX24_LEAD_TITLE'] = 'Order #' . ($fields['ORDER_ID'] ?? 0) . ' from at ' . ($fields['DATE'] ?? date('Y-m-d H:m:s'));
        $fields['MY_BITRIX24_LEAD_TITLE'] = 'Request from at ' . ($fields['DATE'] ?? date('Y-m-d H:m:s'));

        return $fields;
add_filter( 'flamix_bitrix24_integrations_fields_filter', 'flamix_bitrix24_integrations_fields_example_callback', 10, 3 );