--- title: "Categorize VIP Customers Using Profile-Based Automation" slug: "vip-customer-mapping" updated: 2024-03-07T13:04:45Z published: 2024-03-07T13:04:45Z canonical: "docs.mapp.com/vip-customer-mapping" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Categorize VIP Customers Using Profile-Based Automation ## Scenario This topic describes how to identify your VIP customers depending on the number of purchases they have completed and how long they have been a member of the group. | When | Then | | --- | --- | | Contact has been a group member for 1 year and made 5 purchases. | Store the value ​True​ in the user attribute ​VIPShoppers​. | | Contact has been a group member for 2 years and made 10 purchases. | Store the value ​True​ in the user attribute ​VIPShoppers​. | | Contact has been a group member for 3 years and made 15 purchases. | Store the value ​True​ in the user attribute ​VIPShoppers​. | | Default | Store the value ​False​ in the user attribute ​VIPShoppers​. | ## Benefits - Identify your most loyal customers. - Send your VIP customers special offers, invite them to interact with you on social media and ask them to leave feedback about their experiences with your brand. ## Prerequisites 1. In the ​*Administration​ > Attributes​* area, create the following new custom user attributes. | Data Type | Contents | Name | | --- | --- | --- | | **Boolean** | Stores whether the contact is a VIP customer (yes/no). | ​VIPShoppers​ | | **Number** | Stores the number of total purchases. | ​TotalPurchases​ | | **Date** | Stores the date when the contact joined the group. | ​GroupMembershipDate​ | 2. In ​Automation​, create a new whiteboard. Create two new event-based automations. The first stores the total number of purchases in your shop. The second stores the date of subscription to group. For more information, see [​Profile Enrichment​](/v1/docs/profile-enrichment). **Tab. : Automation 1** | Event | Job | | --- | --- | | [Conversion Registered (C)​](/v1/docs/conversion-registered-c)​​ | [Increase or Decrease Profile Value (C)​](/v1/docs/increase-or-decrease-profile-value-c) | **Tab. : Automation 2** | Event | Job | | --- | --- | | [​Subscribed to Group (C)​](/v1/docs/subscribed-to-group-c) | [Store Data in Profile Attribute (C)​](/v1/docs/store-data-in-profile-attribute-c) | ## Procedure 1. In ​Automation​, create a new **profile-based automation** with the type ​**Mapping**​. 2. From the ​Target Attribute​ drop-down list, select the attribute ​**VIPShoppers**​. 3. The mapping has three conditions. | Explanation | When | Then | | --- | --- | --- | | Contact has been a group member for 1 year and made 5 purchases. | ${user.CustomAttribute['TotalPurchases'] >= 5 && ecm:greater(user.CustomAttribute['GroupMembershipDate'], ecm:addInterval(date['Today'], '-12M'))} | True | | Contact has been a group member for 2 years and made 10 purchases. | ${user.CustomAttribute['TotalPurchases'] >= 10 && ecm:between(user.CustomAttribute['GroupMembershipDate'], ecm:addInterval(date['Today'], '-24M'), ecm:addInterval(date['Today'], '-12M'))} | True | | Contact has been a group member for 3 years and made 15 purchases. | ${user.CustomAttribute['TotalPurchases'] >= 15 && ecm:between(user.CustomAttribute['GroupMembershipDate'], ecm:addInterval(date['Today'], '-36M'), ecm:addInterval(date['Today'], '-24M'))} | True | 4. From the ​Default​ drop-down list, select ​**False**​. 5. Click the ​**Save**​ button. 6. Select the profile-based automation and click the ​**Activate**​ button. ⇒ The profile-based automation is now active. 7. Click the ​**Apply Automations**​ button. ⇒ Engage applies the automation to all contacts in the system. This can take a long time. An email notifies you when the automation is finished.