[SEO Subhead]
This Guidance helps you implement geofence target marketing, offering one-to-one personalized recommendations and promotions. It can identify retail customers within the geofenced areas of their physical stores and engage them by push notifications, SMS, and email channels. Retail customer locations can be detected either through GPS or by pre-installed beacon devices within the stores. By extending existing marketing strategies, this Guidance not only enhances customer engagement but also drives foot traffic and potential sales based on retail customers' proximity to physical stores.
Please note: [Disclaimer]
Architecture Diagram
[Architecture diagram description]
Step 1
Users grant either GPS or Bluetooth tracking permissions to the retailer’s native app. For GPS, the Amazon Location Service SDK detects the user’s current location.
For Bluetooth, the retailer’s app detects Bluetooth Low Energy (BLE) beacon signals inside the store and publishes user and beacon data to AWS IoT Core using message queuing telemetry transport (MQTT).
Step 2
Amazon Cognito grants permissions to AWS services for users authenticated in the retailer’s app.
Step 3a
For GPS, Location Service detects if the user’s location is within a geofence from the pre-defined geofence collection to generate geofence events that are sent to Amazon EventBridge.
Step 3b
For Bluetooth, AWS IoT Core invokes an AWS Lambda function with the data from the retailer’s app and generates beacon detection events that are sent to EventBridge.
Step 4
An EventBridge rule responds to geofence and beacon detection events and invokes an AWS Step Functions workflow as a target.
Step 5
The Step Functions workflow processes the events and validates information such as customer marketing consents and store locations with the help of data persisted in Amazon DynamoDB.
Step 6
The Step Functions workflow invokes Amazon Personalize APIs with user data to retrieve recommendations.
Step 7
The Step Functions workflow invokes Amazon Pinpoint APIs with user and recommendations data.
Step 8
The Amazon Pinpoint SDK is integrated with the retailer’s app, enabling Amazon Pinpoint to send recommendations and promotions to users through push notifications, SMS, and emails.
Well-Architected Pillars
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
This Guidance uses fully managed and serverless services, minimizing operational overhead. It seamlessly integrates Step Functions, a serverless orchestration service, which eliminates the need for manual coordination and management of the application components. This approach streamlines the deployment and maintenance processes, allowing for efficient resource allocation and scalability while reducing your operational burden.
-
Security
This Guidance implements a robust authentication mechanism using your identity provider and Amazon Cognito, granting temporary security credentials to access backend resources. It enforces least privilege access through AWS Identity and Access Management (IAM) service roles, helping ensure each component operates with minimal permissions. Data in transit is secured through TLS encryption between the mobile client and services like AWS IoT Core and Location Service. Further, data at rest stored in DynamoDB is encrypted using AWS Key Management Service (AWS KMS), providing an additional layer of protection for sensitive information.
-
Reliability
EventBridge controls the event flow between various components in this Guidance, adopting a publish-subscribe (Pub/Sub) model that decouples the beacons data component (which includes AWS IoT Core and Lambda) from the orchestration component (which includes Step Functions). This decoupling allows AWS IoT Core to transmit events as soon as they are received from the client, while Step Functions processes these events, independently of event generation. All components are configured to send events to EventBridge, enabling the creation of specific logging rules and forwarding event logs to a centralized logging service such as Amazon CloudWatch.
-
Performance Efficiency
This Guidance uses purpose-built AWS services such as Location Service for tracking client locations, AWS IoT Core for real-time communications, and Amazon Cognito for mobile client authentication. It also uses DynamoDB, a highly performant database service, and allows customers to choose the required memory allocation for Lambda functions.
-
Cost Optimization
The fully managed and serverless services in this Guidance, such as Amazon Personalize, Step Functions, Lambda, and DynamoDB, operate on a pay-as-you-go pricing model, meaning you pay only for what you consume. This approach provides the necessary elasticity without the need for capacity planning, as the services seamlessly scale to precisely match the required resources, eliminating over-provisioning or under-provisioning concerns.
-
Sustainability
The serverless services (including Lambda, Step Functions, EventBridge, and DynamoDB) and fully managed services (including Amazon Cognito, Location Service, Amazon Personalize, and Amazon Pinpoint) eliminate the need for you to manage underlying hardware, as AWS runs these services with the minimum required infrastructure. Designed using an event-driven architecture and asynchronous APIs, this Guidance eliminates idle waiting times between components and avoids consuming compute resources unnecessarily.
Implementation Resources
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
Related Content
[Title]
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.