Tilda RetailCRM integration module

When an order is received via the lead-form on your website, the module sends the following data to the RetailCRM:

  • Customer contact info
    • First name
    • Second name
    • Middle name
    • Phone
    • Additional phone
    • Email
    • Comment
  • Delivery info
    • Type
    • Cost
    • Address
    • Comment
  • Order list (shopping cart content)
  • UTM
  • Order custom fields
  • Promocode and its discount value
  • Cookie values
  • Payment method and status
  • Order method
  • Order number (ID)

The module is paid. Actual price is in the RetailCRM marketplace. The payment debits from your CRM account balance once a month. You can integrate as many sites to one CRM account as you want, it doesn't affect the final cost.

The setup process is detailed in the Instruction section.

The module support contacts are listed on the Support page.


The module is available in the RetailCRM marketplace (Settings > Integration > Marketplace) in the CMS section. Installation and configuration of the module includes the following steps:

  1. Creating a shop
  2. Creating an API shop
  3. Enabling module in marketplace
  4. Creating a form handler
  5. Setting up a webhook
  6. Customizing forms

The Tilda.cc module in the RetailCRM marketplace

Creating a shop

For the module to work, at least one store must be created in your RetailCRM account.

The stores are created on the Settings > Stores page. If there are no stores on the page, create one by clicking the Add button in the upper right corner.

Adding new store in RetailCRM

Fill the needed fields on the opened page and save the settings. If you see an error saving the settings, make sure that the Catalog field on the Catalogue tab is set to Do not use.

Disabling ICML catalog

Creating an API key

To let the module send site orders to the CRM it needs an API access to your RetailCRM account. Go to the Settings > Integration > API access keys page and press the Add button.

Adding an API key

RetailCRM will generate a new key and open its settings page. Choose the Access to all stores variant in the Access type dropdown list if you want to set up an integration for all of your sites. Or you can choose the Access to a particular store and then select stores you want to integrate in the Stores field below. Stores are set up on the Settings > Stores page.

Enable the following actions in the Allowed actions in API field:

  • Orders
    • Editing (order_write) - for orders creation
  • Customers
    • Getting (customer_read)- for finding duplicates
  • Data book
    • Getting (reference_read)- for getting lists of available shops, payment and delivery types
  • Custom fields
    • Getting (custom_fields_read)- for getting lists of custom fields and dictionaries
  • Integration
    • Editing (integration_write) - for registering the module in the CRM

RetailCRM API key settings

To save the changes you made click the Save button.

Enabling module

Press the Connect button on the module page in RetailCRM marketplace (Settings > Integration > Marketplace).

Module page in the RetailCRM marketplace

Paste the API key you've just created to the API Key field on the opened module configuration page. Leave your contact e-mail to receive module updates notifications. Press the button. If the key is incorrect, or some necessary permissions are missing you will see an error message:

API key errors

Click the Connect button in the bottom left corner of the page. On successfull connecting you will see the + Handler button in the left-side menu.

Adding a form handler

If you are sure that you specified a correct API key, but you still see the error message "Check url and API key", make sure you've created at least one store. RetailCRM may return an API error if there are no shops in the CRM account.

Creating a handler

The handler is responsible for receiving data from website forms and sending it to RetailCRM. You can use either one handler for all site forms, or create a dedicated handler for each of them. Click the + Handler button in the left-side menu.

Adding new handler

On the opened settings page fill in the next fields:

  • Handler name
    Displayed handler name. Serves for your convenience and does not affect leads processing.

  • Shop
    A shop (site) you want to send leads to. Shops are configured in the Settings > Stores CRM settings page. If there is no shop you need in the drop-down list, check the API key accesses settings.

  • Send Tilda order ID to CRM
    When enabled, displayed order numbers in RetailCRM will match Tilda order ids.

Press Save in the bottom of the left-side menu.

Save button

A new field Webhook URL will appear just under the order ids sending toggle. Copy the field value, you will need it later.

Handler settings

Setting up a webhook in Tilda

The next step is setting up your site for sending incoming leads the created handler. For that purpose Tilda has a Webhook data collection service.

Create a new webhook on the site settings page (Site setting > Forms > Other > Webhook).

Tilda data collection services

Paste the copied on the previous step handler URL to the Webhook URL and press Add.

Adding a webhook

On successful adding Tilda will show the success message and offer you to connect the webhook to all forms on the site. Press Add.

Connecting webhook to site forms

After adding, you will be returned to the page with connected data collection services on which you can see you created webhook. To finish the integration open its settings.

Connected data collection services

In the Additional settings section select the Send Cookies, and Transfer data for goods in the order - as array and Transfer externalid for goods checkboxes.

You can also give the webhook a meaningful name, for example RetailCRM.

Tilda webhook settings

Press Save.

Finally, to reflect the changes on the site, re-publish it clicking Publish all pages on the Dashboard page.

Site publishing

By default, the handler will send Name and Phone form fields along with shopping cart content and UTMs. To set up additional fields refer to the Forms setup page.

Forms setup

To let the module pass site form data to the appropriate CRM fields you need to set up a mapping between the site form fields and CRM fields. The mapping sets up on the handler setting page (separately for each website).

Default settings

Each new handler has the following pre-configured fields:

  • Name
  • Phone

Form fields settings

The field name is a field from the CRM order page. The field value is a Tilda form field identifier. The screenshot above can be read as:

  • The value of the site form field identified as name sends to the First name field of the CRM order
  • The value of the site form field identified as phone sends to the Phone field of the CRM order

Identifiers are set up in the website form fields settings:

Tilda form fields settings

Apart from the first name and phone you can set up sending of email, middle name, last name, additional phone, comment, delivery type, cost and address, order custom fields (Settings > System > Custom fields in RetailCRM). Just select a needed field in the Add field dropdown in the Form fields section of the handler settings page and type an identifier.

Adding fields

For example, if you want to pass a customer comment to the CRM, the procedure will be as follows:

  1. On your website find (or create) a form field with customer comment and give it an identifier comment. Comment field on website

  2. Select a Comment in the Add field dropdown list in the handler settings and type the comment identifier to the added empty field. Comment field in the handler settings

  3. Save the module settings and re-publish the website (on the Tilda's Dashboard page). Publishing a website

Delivery variants

The Delivery types Tilda form field type has a special format. If the variant is specified in a NAME = PRICE format, for example Courier = 15, than the created order will have delivery type Courier and delivery cost 15.00.

Essential: the delivery type must exist in the delivery types data book in RetailCRM (Settings > Data books > Delivery types).

Delivery variants in Tilda

Delivery types in RetailCRM

Delivery services

In the delivery variants settings Tilda offers to enable and use delivery services. It allows integrating third-party delivery services directly to the website (without CRM) making it possible to add delivery calculators to lead forms.

Delivery services in Tilda

When the delivery services are enabled, all delivery information (method, address, cost and comment) is sending to the CRM in special standard fields that don't require any additional configuration. So, if you use the delivery services, you don't have to (you should not) create Delivery Address and Delivery Code fields in the handler form fields settings (if you do so, the values from these fields will take precedence over the standard, automatically sent fields).


Sending any cookie value to the CRM works and sets up the same way as sending of form fields. Just add a new field in the handler settings and type in a cookie name you want to send to this field.

Please note: if the cookie you want to pass and any form field you set up share the same name, the form field value will take precedence over the cookie one. For example, if you set up a form field named myname and a cookie named myname, only the form field value will be sent to the RetailCRM. In such cases just rename one of the variables (either the form field, or the cookie name).

Let's take a look at the setting up a Roistat visit id from cookies to the CRM.

Each time a visitor opens a site page, Roistat saves a cookie variable named roistat_visit which value we'd like to send to the CRM.

Since the RetailCRM doesn't have a dedicated order field for Roistat identificators, we need to create a custom one.

Press the Add button on the Settings > System > Custom fields page and create a new order field with type String. A symbolic code and a name may be any you find most suitable, for example roistat_visit and Roistat Visit respectively.

Custom field for Roistat

When creating a custom field in the CRM, you can specify which order card section the field will be displayed in. Choose the most convenient one.

Select the just-created field in the Add field dropdown list on the handler settings page. If the field is missing, click the button to the right of the dropdown to update the field list.

Roistat visit in the field list

Type in the cookie name you want to pass in the added field. In our case it is roistat_visit.

Roistat visit with roistat_visit as a value

After saving the settings, the Roistat visit identificators will appear in the order card in CRM.

Roistat visit in the order card

Promo codes and discounts

Promocodes and its discounts are created in Tilda's site settings (Tilda instruction). Two fields are used to pass this information to the RetailCRM:

Discount value

Discount amount is passed to the RetailCRM automatically using the special standard order field, no additional configuration required from you.

Promo code

Tilda sends the applied promocode along with the other order info, but the RetailCRM doesn't have a dedicated field for it. If you want to see the promocode in the order card you can create a custom order field (Settings > System > Custom fields > Add in RetailCRM) wich type is String and symbolyc code is promocode

Promo code order custom field

Now, when a customer applies a promo code you can see it in the CRM:

Promo code and discount in the order card

When creating a custom field in the CRM, you can specify which order card section the field will be displayed in. Choose the most convenient one.

Important: after you've created the promocode custom field, applied promo codes will be automatically sent to this field by the module. You don't need to set up the field sending in handlers settings.

Payment status

There are two modes of sending order information from Tilda to the CRM in the payment systems settings:

  1. Sending a webhook immediately after order form has been submitted
  2. Sending a webhook only after the order has been paid

Data sending settings

Sending after form submit

In the first case the selected paymet method will be sent to the RetailCRM without a payment status. The CRM will either leave the payment status empty or set a default-in-api status. Payment statuses settings are on the Settings > Data books > Payment statuses page.

Default payment status in RetailCRM

You can find the selected payment method in the Payment section of the order card;

Unpaid order in RetailCRM

Please note: payment method will appear in the order card only if there are more than 1 payment system connected in Tilda. It happens because the Tilda doesn't send payment information in webhooks when only one payment service is connected, which will be selected by default.

Sending after payment

If you've enabled data sending only after the payment has been completed, the order will appear in the CRM after your payment system confirms the payment. In such case the selected payment system will be sent to the CRM along with a Paid status.

Please note: before sending the order, the module fetches all available payment statuses from the CRM and selects the first status that has a Paid checkbox enabled in its settings. By default, RetailCRM has only one such status - Paid. If you have multiple statuses with the Paid checkbox enabled, the one that has lower Ordering value will be selected.

Payment status Paid in RetailCRM

A paid order in the CRM will have a similar Payment section in the order card:

Paid order in RetailCRM

Paid orders are marked with a green icon in the order list:

Paid order in the order list

Available payment types

In order for the CRM to recognize the passed by Tilda payment type, it must exist in the payment types list (Settings > Data books > Payment types in RetailCRM). Method which symbolic code matches the code of the selected Tilda payment system will be attached to the order.

Here is a list of all Tilda payment systems and their codes available at the time of publication this instruction:

Name in TildaCode
Yoomoney - from credit cardyamoney
Yoomoney - from mobileyamoneymc
Yoomoney - from electronical moneyyamoneypc
Tinkoff Banktinkoff
Alfa Bankalfabank
Cash on Deliverycash
Bank Transferbanktransfer
Custom Payment Gatewaycustom


If you want to add the PayPal payment method to your site, the steps will be as follows:

  1. Connect a new PayPal service in the Tilda site settings (Site settings > Payment Systems).
  2. Add a new payment type with paypal as a symbolic code and any name clear for you (e.g. PayPal) in the CRM payment types settings (Settings > Data books > Payment types).

That's all. The same way add other payment systems that you need.


UTMs are sending to the special fields in the CRM. You can see the UTMs in two places:

  1. On the order page
    There is a More button in the upper right corner of the Customer section. The UTMs will appear after pressing the button.

More button UTMs on the order page

  1. On the customer page
    There is a Source block with UTMs values in the bottom of the page.

UTMs on the customer page

Order methods

To send the order method to the CRM enter the symbolic code of one of the existing order methods (Settings > Data books > Order channel in RetailCRM) in the Form name field of the site form settings in Tilda. The form name is not displayed on the site, but is sent to the CRM along with the order.

Orders, received through the shopping cart are sent to the CRM with the shopping-cart form name, which by-default corresponds to the Shopping cart method in the data book.

If the form sent with empty Form name, RetailCRM will select the default method (the one with the By default in API checkbox enabled).

Order channel data book

For example, to send all site lead forms with the One click order method, just name each form one-click.

Form settings

The submitted checkout method is displayed in the upper section of the order card:

Checkout method in the order card

Shopping cart content

To pass the shopping cart content to the CRM make sure you've enabled this feature during the webhook setup.

Enabling shopping cart content sending

All shopping cart positions along with its prices and quantities are adding to the RetailCRM order. Without any additional settings the positions are adding by its name as-is (without binding to products from the CRM catalog). Probably it is not what you need, and you may want to connect the products from your website with products from your CRM warehouse.

First, if you haven't done it before, enable catalog editing in CRM settings (Settings > System > Warehouse > Allow catalogue editing).

Catalog editing settings

Each item in the RetailCRM catalog must contain one or more trade offer. For example, the Backpack item may have the following trade offers:

  • Blue backpack
  • Red backpack
  • Black backpack
  • And so on...

Thus, using trade offers you can add different modifications to one product. One trade offer must exist even if the product has no modifications. In that case the trade offer can have the same name as the product.

Each trade offer has an editable External code field. If you fill it with the same value as in the Subtitle or SKU Tilda product field, then this trade offer will be adder to the CRM order.

Using our backpacks example, the steps will be:

  1. Find (or create) a Backpack product with a Red backpack trade offer in the CRM catalog.
  2. In the External code field of the trade offer type in some value (letters and/or digits), e.g. 42.
  3. Find (or create) a Red backpack product and type 42 in the Subtitle or SKU field.
  4. Re-publish the website.

RetailCRM trade offer external code Tilda product subtitle or SKU

If you can't se the Subtitle or SKU field, press the Show more: button, label, options button in the bottom of the product settings window.

Additional Tilda product settings

Now each red backpack order from the website will have the red backpack trade offer from the CRM warehouse in its positions. The same procedure of binding website products with the CRM trade offers should be done for each product.

Passing product options

Product properties are sent to the order card and displayed in the Properties column of the positions list. For example, instead of creating a dedicated product item for each of backpack color, you decided to create one Backpack product item with the color option that has Red, Blue, Black values.

Product with options

On the website it'll be shown as:

Product with options

In that case the 42 external code will be passed to the CRM order, no matter what color the customer has chosen. The selected color will be displayed in the positions list.

Product properties in the positions list

Product catalog

In order to pass different product modifications to the CRM when a customer selects differrent properties, a separate Subtitle or SKU value should be set for each backpack color (e.g.: red - 42, blue - 43, black - 44). It is possible only by using Tilda product catalog. After enabling this feature, you don't need to manually add products to the site page anymore. All products will be added/updated/deleted automatically from the catalog.

To enable the catalog go to the site settings, find a Product catalog item in the More section of the left-side menu and press Connect.

Enabling Tilda product catalog

Add a new catalog item with a name Backpack. In the item settings add a Color property in the Product variants section. Additionally, when you work with the catalog, there is one more field called External ID. It is ment to be used for matching Tilda's catalog item with the corresponding RetailCRM trade offer. Just like the Subtitle or SKU field we used earlier.

When the module sends orders to the crm, it checks the External ID first. If it's not present, the module fallbacks to the Subtitle or SKU field. Sending the external id must be enabled in the webhook settings.

Important: if you decided to use the external id, be careful with its format. The ids are set for the catalog item and for all its variants individually. Tilda contatenates the product id and its variant id using a # symbol while sending a webhook. For example, if the customer orders the Backpack with id backpack and specifies Red with id red as its color, a backpack#red string will be sent to the crm. So, the Red backpack crm trade offer must have the backpack#red external code. External ID in Tilda catalog External code in RetailCRM trade offer

Let's get back the unique-sku-per-variant example. Create three product variants (Red, Blue and Black) with SKU 42, 43, 44 accordingly. You can also add a photo and price for each variant.

Product variants in Tilda catalog

Find a Show products from catalog dropdown list in the product cards block on the website and select the All products option. You can also split your catalog into categories and use them on different site pages.

Connecting product catalog to website

Save and re-publish the website. Now, the product cart for the customer will look like this:

Product with variants

When a site visitor selects the backpack color, the SKU (and photo, price if you specified it) will be updated, and on form submit the CRM will add precisely the backpack modification the customer selected.

The product catalog feature usage makes working with products much more convenient and functional.

Multiple sites

You can integrate as many websites as you want. It doesn't affect the final module cost.

Just create a new handler for each site you want to connect to the CRM. Be careful with webhooks settings, each handler will have a dedicated URL.

Multiple sites

Orders statistics

As soon as at least one website form submission is handled, a Handled leads section will appear on the corresponding handler settings page. The section contains an information about a time, content and RetailCRM response of each order received in the last 30 days.

Handled leads

Questions & Answers

This page contains more frequently asked questions to the module support and answers to them.

> What information can be sent from website to RetailCRM?

  • First name
  • Last name
  • Middle name
  • Phone
  • Additional phone
  • Email
  • Delivery address
  • Delivery type
  • Delivery cost
  • Comment
  • Order list (shopping cart content)
  • UTMs
  • Order custom fields
  • Promocode and its discount value
  • Cookie values
  • Payment method and status
  • Order method
  • Order number (ID)

> What to do with errors appearing during module setup?

Errors can appear because of incorrect API key permissions. Check the key on the Settings page.

If you are sure that you specified a correct API key, but you still see the error message "Check url and API key", make sure you've created at least one store. RetailCRM may return an API error if there are no shops in the CRM account.

> CRM doesn't receive website orders. What to do?

Please read the instruction carefully. Very likely you made a mistake during module setup. Also, the orders processing stops when the module is unpaid.

> How to connect multiple sites to the CRM? Will it affect a module cost?

You can integrate as many websites as you want. It doesn't affect the final module cost. Details of setting up multiple sites in on Multiple sites page.

> How to pass product options (modifications) to the CRM?

All product options sends to the CRM automatically. Using the Tilda's product catalog it is possible to pass product modifications as a separate trade offers to RetailCRM. The setup process is detailed on the Passing product options section.

> How to import products from RetailCRM warehouse to Tilda catalog?

It's not possible yet. Some technical restrictions of both Tilda and RetailCRM prevent us from implementing this feature right now as we see it. If you need the synchronization, please contact us for discussion of possible solutions.

> Why is the shopping cart content not sending to the CRM?

Most likely you've forgotten to enable shopping cart content sending in the webhook settings (the Transfer data for goods in the order - as array checkbox). Refer to the instruction to fix this.

> Why is the product from the website not linked to the product from the RetailCRM warehouse?

Very likely you incorrectly specified Tilda product SKUs and RetailCRM trade offers external codes. Details on how to do this are on the Cart content page.

> I use external delivery services calculators, how to pass delivery information to the CRM?

Delivery calculators are available only when you use the Delivery services Tilda feature. This feature is fully supported by the module and does not require any configuration. All delivery information will be automatically sent to the RetailCRM.

> Why is the delivery information not sending to the CRM?

Most likely you have made a mistake during form fields setup. Setting up sending of delivery information to the CRM is described on the Forms setup page.

Most likely you've forgotten to enable cookies sending in the webhook settings (the Send Cookies checkbox). Refer to the instruction to fix this.

> How to pass a promo code to the CRM?

The module supports sending promocodes and its discount values to the RetailCRM. Refer to the Promo codes and discounts page of the current instruction.

> How to pass a payment information to the CRM?

The instruction of payment method and status sending is on the Payment status page.

> How to pass UTMs to the CRM?

UTMs are automatically attached to each order. No special setup required. Details are on the UTM page.

Any cookie value can be sent to the CRM, just like site forms values. The setup process is described on the Cookies page.

> How to pass order method to the CRM?

Order method is passed to the RetailCRM automatically, but your site form names should match symbolic codes of the Order types data book. More details are on the Order channel page.

> Can we order any module customization?

No, we do not provide any individual customizations.


2021-10-30 v1.11.0

  • Added support of sending externalid field for cart items.

2021-06-09 v1.10.0

  • Added an ability to disable sending of order number (ID) from Tilda to the CRM.

2021-06-07 v1.9.0

  • Added support of sending order number (ID).

2021-05-28 v1.8.0

  • Added support of sending order method.

2021-05-28 v1.7.0

  • Added support of sending product options when working without product catalog.

2021-05-27 v1.6.0

  • Added support of sending payment method and status.

2021-05-25 v1.5.0

  • Added support of sending cookie values.

2021-05-24 v1.4.0

  • Added support of promocodes and its discount values.

2021-05-24 v1.3.0

  • Added support of custom fields sending.

2021-05-21 v1.2.0

  • Eliminate contact duplicates by attaching a new order to a customer with the same phone number.

2021-05-20 v1.1.0

  • Added support of delivery services.

2021-05-19 v1.0.0

  • To simplify adding new features the whole module codebase is re-written from scratch.
  • The module is moved to a new domain.

2019-06-05 v0.1.6

  • Fixed an error with auto-detecting interface language on the first settings page visit.
  • More descriptive error message on settings saving.
  • Disabled empty test leads creating on saving webhook settings in Tilda.
  • Added handling of post arrays (variable names like comment[]).
  • Minor UI components improvements.

2019-06-01 v0.1.3

  • Initial release, publication in RetailCRM marketplace.


Send your questions and wishes to support@tilda-retailcrm.com email.

Please read the instruction carefully before asking, most likely it already contains an answer to your issue.

Also, we regularly update the Questions & Answers page, please try to find a solution there.