Uploading data from a CRM

You can add the customer data and order data from your CRM to your site statistics. This information helps you to:

Build end-to-end analytics

By sending actual sales or transaction statuses from your CRM to Yandex Metrica, you can match them with user's online history on your site and get a comprehensive analysis of your sales funnel.

Optimize your ads in Yandex Direct

Create goals for confirmed user actions or transaction statuses from your CRM and use them to optimize advertising for paid orders, signed contracts, payment after site form submissions, or other actions.

Create segments

Create user segments based on offline data and look-alike user identification. Segments can also include customers who didn’t visit the site before making a purchase.

Get more accurate data

Minimize discrepancies between the data from Yandex Metrica and the information from your CRM system or sales department.

Classify form submissions

Not all form submissions and placed orders on the site result in payments. Send data on "good" submissions to identify your most effective sales channels.

Build ROPO reports

If you have physical stores, you can send sales and transaction data from those locations to measure the impact of online advertising on your offline sales.

You can upload information to Yandex Metrica using the API, integration with CRM, and via Conversion Center in Yandex Direct.

What data can be transmitted to Yandex Metrica

You can transmit:

Customer information

  • Customer IDs from your CRM.
  • Names.
  • Additional parameters of your choice.
  • IDs that Yandex Metrica can use to find their sessions in the tag (ClientId, emails, phones).

In the future, this information will allow you to create segments based on customer data from your CRM.

Orders (transactions)

  • Order IDs from your CRM.
  • ID of the customer who placed the order.
  • Order time.
  • Order status, revenue, cost, and currency.

In addition, you can send information about the products or services included in the order. If Yandex Metrica matches a customer session from your tag to a transmitted order, then, depending on the transmitted order status, the corresponding goals for the session are considered achieved.

Furthermore, you can create segments for customers based on specific order statuses, high spending, frequent orders, and other criteria.

How Yandex Metrica links CRM data to sessions

When you send order or transaction information from your CRM to Yandex Metrica, the service matches it to the closest session on your site based on time. The user is identified based on the data you have sent as identifiers of the customer who has placed the order (ClientId, emails, phones).

Orders from your CRM can be matched to sessions and users within 21 days after the current date. After a successful order match, you have 111 days from the start of the session to edit the order, including its status, total amount, or items. For more information about the matching window, see Offline conversion tracking.

Matching orders to sessions is a key step in end-to-end analytics. It allows you to match site users not only to orders, order statuses, and purchased goods or services, but also to the achieved goals that are associated with those order statuses.

Orders that can’t be matched to a session only appear in the Users and customers report and aren’t included in other Yandex Metrica reports. In addition, the service doesn’t send goals associated with order statuses to Yandex Direct for sessions that are matched to this ad source.

To ensure the accuracy of your reports and the effectiveness of your marketing strategies, make sure that all orders are correctly matched to their corresponding sessions:

  1. Check the IDs passed to Yandex Metrica, including the ClientId, phone numbers, and emails of your customers, and make sure that they're correct.
  2. Transmit data for orders placed within the last 21 days. Orders that are older than 21 days at the time of transmission can't be matched to user sessions (this limitation doesn't apply to updating already matched orders).
  3. Use the ClientId to transmit orders to Yandex Metrica. This is a more reliable method of matching orders compared to phone numbers and email addresses. We recommend passing the ClientId for every transaction created in your CRM system.

Note

If you can't obtain the ClientId (for example, if it's an offline purchase) or set up its transmission to your CRM, use Advanced Matching: enable the Advanced tracking settings option in the tag settings for more accurate order matching by email and phone number.

Analyzing and managing CRM order statuses

Matching orders to sessions in Yandex Metrica helps you measure the effectiveness of your traffic by transmitting order statuses. Yandex Metrica reports support segmentation by all 5 types of order status:

  • Order created: Default status ID is IN_PROGRESS. Transmitting this status type completes the goal CRM: Order created.
  • Order paid: Default status ID is PAID. Transmitting this status type completes the goal CRM: Order paid.
  • Order canceled: Default status ID is CANCELLED. Transmitting this status type completes the goal CRM: order canceled.
  • Spam order: Default status ID is SPAM. Transmitting this status type completes the goal CRM: spam order.
  • Order in a different status: If you transmit the ID of a JavaScript event goal that you manually created for the tag, the order is assigned the OTHER status type.

Simplified transmission of CRM data supports 4 standard status types: IN_PROGRESS, PAID, SPAM, and CANCELLED, as well as JavaScript goal IDs.

Usage example

Suppose a customer fills out a contact form on your site. You capture the user's ClientId and send it to your CRM along with the form data.

Here’s what the order lifecycle and tracking of its associated goals might look like:

  1. Transaction creation. As soon as a new transaction appears in your CRM, transmit an order with the IN_PROGRESS status and the transaction number from the CRM to Yandex Metrica. Doing this completes the Order created goal for the user's session in the tag.

  2. Quality lead. After you have communicated with the customer and confirmed their interest, change the transaction status in your CRM to Quality lead. For this status, create a JavaScript event goal named “Good leads” with the ID good_lead on the tag.

    Use the order number to transmit an update with the new good_lead status to Yandex Metrica. This completes two goals for the user’s session: Order created and Good leads. The status of the order itself changes to Order in a different status.

  3. Payment. After the customer pays for your services, update the order for the last time, transmitting the PAID order status to Yandex Metrica. This completes the Order paid goal for the customer’s session. This way, three goals that were mapped to your CRM statuses are completed for the user’s session, and the order status changes to Order paid.

As a result of your interaction with the customer, three goals associated with order status changes in your CRM system are considered achieved for their session. By following these steps, you can accurately track the progress of customer interactions and the effectiveness of your marketing efforts.

With full data transmission, you can implement complex logic for goals associated with CRM order statuses.

Usage example

Suppose you work for a chain of dental clinics with multiple branches. Using full CRM data transmission, you’ve synced your CRM statuses with the order statuses in Yandex Metrica.

A customer submitted a request on the site, you called them back and scheduled a professional dental cleaning at Branch #1. Later, the customer called you back and canceled the appointment. Eventually, they called again to schedule a tooth extraction at Branch #2, came to the appointment, and paid for the services.

In the CRM, the transaction journey based on the customer’s statuses appears as follows:

New lead — Appointment at Branch #1 — Appointment canceled — Appointment at Branch #2 — Services paid

In Yandex Metrica, you created order statuses with matching names and established the following logic:

  1. New lead: Order status is new_lead. Completes the Order created goal. Order status type is In progress.

  2. Appointment at Branch #1: Order status is zapis1. On the Yandex Metrica tag, completes the JavaScript goals Appointment at Branch #1 with the ID zapis1 and All appointments with the ID vse_zapisi. Order status type is Order in a different status.

  3. Appointment canceled: Order status is CANCELLED. Doesn’t complete any goals. Order status type is Canceled.

  4. Appointment at Branch #2: Order status is zapis2. On the Yandex Metrica tag, completes the JavaScript goals Appointment at Branch #2 with the ID zapis2 and All appointments with the ID vse_zapisi. Order status type is Order in a different status.

  5. Services paid: Order status is paid_in_filial2. Completes the goal Order paid and the JavaScript goal Payments at Branch #2 with the ID oplaty_2_filial on the Yandex Metrica tag. Order status type is Order paid.

For all achieved goals, the profit from the transactions specified in the CRM is passed as revenue. You can use revenue by goal for the Maximum conversions strategy with cost capping by Cost revenue ratio in Yandex Direct.

Getting started

1. Prepare the data

Yandex Metrica matches CRM data to users and their site sessions. To match the data, Yandex Metrica uses customer characteristics (phones, emails, phones_md5, emails_md5) and a special ClientId. The Yandex Metrica ClientId allows for the most accurate matching of orders to user sessions on the site, so we highly recommend sending it.

How do I set up ClientID transmission

Transmission of the ClientId involves including the unique identifier of the Yandex Metrica user in transaction records within your CRM system. Configure the transmission of this parameter based on the user contact channel:

  • Forms and orders on the site. Obtain the ClientId using the getClientID JavaScript method and include it in the hidden field of your lead forms for subsequent transmission to the CRM.

  • User calls. If your CRM transactions result from calls, you’re likely using a call tracking service. Check if your call tracking system can pass the ClientId to transactions in your CRM.

  • User emails. For email-initiated transactions, use email tracking services that can identify the sender’s ClientId by substituting the email address on your site. These services can then send information about new emails directly to your CRM as transactions.

  • Messenger chats. For customers originating from messengers, initiate the getClientID method on the site and include the ClientId in the deeplink (Telegram, Viber) or in the message template (WhatsApp). When creating a transaction, specify the ID in a separate field.

  • Site widgets. Make sure that your site widgets can pass the Yandex Metrica ClientId to your CRM when transmitting transactions.

Note

If you can't obtain the ClientId (for example, if it's an offline purchase) or set up its transmission from your CRM, use the Advanced tracking settings option in the tag settings to more accurately match orders using email or phone number.

2. Upload data about customers and orders

You can upload the data:

Note

Your uploaded CSV file should be no larger than 1 GB and use UTF-8 encoding.

Immediately after uploading, the information appears on the Users and customers → Clients page in Yandex Metrica. To check if the upload is correct, you can also use the API method.

Note

You can transmit data for up to 100,000 orders per customer.

After data transfer in Yandex Metrica:

  • End-to-end analytics reports become available (Order sources from CRM report and Sources, costs, and ROI report).
  • New metrics will become available: All orders, Orders in progress, Paid orders, Spam orders, Orders with a different status, Canceled orders, Conversion to order, Conversion to payment, Average order value, Revenue, Profit.
  • New conversions, such as “CRM: Order created” and “CRM: Order paid”, appear on the Conversions page. The statistics become available once the uploaded conversion data is linked to visits, which happens the first time you successfully upload data.
  • Goals appear for tracking conversions related to orders. For example, “CRM: Order created”, “CRM: Order in progress”. They are displayed on the Goals page. Goals can be used in Yandex Metrica reports and for setting up campaigns in Yandex Direct.

Note

The data will appear in Yandex Metrica reports within 2 hours of upload.

3. View statistics

Orders are transmitted to Yandex Metrica with different statuses:

  • In progress.
  • Paid.
  • Canceled.
  • Spam orders.
  • Orders with a different status (orders whose status matches the created JavaScript goal on the tag).

These statuses can be used in Yandex Metrica reports for segmentation.

To view statistics, use:

Questions and answers

Can I delete the data uploaded from the CRM?

The data can’t be deleted. If an order’s status in your CRM changes to “Spam”, the order information will be updated in Yandex Metrica and will no longer be displayed in order metrics.

A similar logic applies to goals. If an order has been linked to a session, all goals sent for the order will remain in these sessions as conversions.

Why do I have duplicate customers or orders in Yandex Metrica?

The data might be duplicated if:

  • The data from the CRM was transferred to Yandex Metrica with the same IDs.
  • You uploaded previously transmitted information once again, for example, when migrating to another CRM.
Why can't I match orders after switching CRMs?

After changing the CRM, order data may come to Yandex Metrica with the same IDs that were used in the previous CRM.

However, if the order parameters (for example, the date created) are different, Yandex Metrica interprets these as attempts to update existing orders, not as new orders. Since you can't change the date created of an already sent order, orders can't be matched to sessions.

To resolve this issue, make sure that the order IDs don’t overlap between different CRMs.

Chat with us

Write an email