Creating a customer's card

Description

Online stores interact with their customers using data from different sources:

  • Website;
  • Mobile app;
  • Offline stores;
  • Call-centers;

Different channels of interaction causes the problem of combining data and tracking events of the same client in different sources.

Let's see the following regular example: website, call-center, and/or offline store:

  1. The customer of the web-store registered on the site using email, made some actions, maybe added products to the cart. At the same moment, the customer's profile, his identifier and email for communication will be created on the site.
  2. The same customer can call to the call center and make an order over the phone. Probably, a customer profile also will be created, but without a stable unique identifier (unless the call center or cash-machines belong to the master system)
  3. The same customer can also make an order in offline store, while using a loyalty card. In this case, the customer's identifier will probably not be stable and unique.

Online store would like to transfer information about all customer profiles received in different ways to Retail Rocket, for interaction with them. But it still will be different customer profiles, because they don't have unifying data that can be used to understand that they belong to the same client.

  1. The customer of the online store on the website saves the phone and the number of loyalty card. From this point on, you can combine the previously obtained data into one profile using the method of creating a customer card and using links - pointers to the customer.

Terms

CustomerId

CustomerId - a unique customer identifier that does not change. Usually the master system, the website of an online store or CRM is responsible for generating this identifier, for example, when registering on the website.
Different communication channels (email, sms, WebPush, etc.) are linked to this identifier, behavioral data and interests, order and communication statistics are collected. Different customer data can be associated with it, such as birthday, full name, etc.

  • CustomerId always points to unique profile. It cannot be transferred to another client.
  • It's better to use as a CustomerId a surrogate key (generated by the system), and not data that can be transferred to another client (phone number, loyalty card number).
  • It's necessary to be sure that the values ​​are unique to avoid mixing data from different people into one profile.
  • By using CustomerId, you can combine the data passed to Retail Rocket with different Link.

📘

Please note

  1. No need to pass in CustomerId email address, phone number and other data that may change over time for the client. Otherwise, it can lead to duplicates and ambiguities.
  2. CustomerId with pointers (Link) can affect the database of online store customers if the integration of the online store fails, and, for example, the same customerId would be passed for all users. It's necessary to exclude caching of such requests.

Link

Link - it's a named string pointer to the customer, intended to pass information about the customer to Retail Rocket

  • As a value for Link can be used: email, phone number, loyalty card number, id in external systems, and anything that allows you to identify the customer;
  • You can create as many of these identifiers as you want by giving Link an appropriate name;
  • Link may start pointing to another client. For example, when changing the owner of a loyalty card or phone number;
  • If there is a CustomerId parameter, an unlimited number of Link can point to one customer profile. This allows you to create a single profile;
  • If there is not a CustomerId, the data that were transmitted for each Link will be collected on different profiles;