How to transmit customer and order data from a CRM

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

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 data from those locations to measure the impact of online advertising on your offline sales.

How to transfer data:

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.

Data delivery formats

You can send customer and order data from your CRM using:

Both formats support the attribution of conversions to sessions based on customers' phone numbers, email addresses, or hashes of this data.

After successful upload:

  • The goals CRM: Order created and CRM: Order paid are created. You can generate Yandex Metrica and Yandex Direct reports for these goals and optimize Yandex Direct ad campaigns for JavaScript events transmitted in the order status, alongside the usual goals.
  • You can use customer data for segmenting statistics in most Yandex Metrica reports and for ad campaign targeting in Yandex Direct.
  • You can use data about any transmitted order goal in End-to-end analytics reports by adding it to favorites.

Along with order information, detailed data delivery allows passing information about product lists used to make the order, as well as arbitrary parameters for your customers. Based on this information, you can create audience segments and target your campaigns at them.

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 identification data (ClientId, emails, phones) that you provided for the customer who placed the order.

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 doesn't complete any goals.
  • Spam order: Default status ID is SPAM. Similar to canceled orders, doesn't complete any goals.
  • 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.