Skip to content

Commit

Permalink
more doc fix
Browse files Browse the repository at this point in the history
  • Loading branch information
BastLeblanc committed Oct 14, 2024
1 parent c18040f commit 56a5ac6
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 186 deletions.
3 changes: 0 additions & 3 deletions docs/Deployment/services/aws-lambda.md

This file was deleted.

172 changes: 22 additions & 150 deletions docs/Technical Guides/Geolocation/LocationServices.md
Original file line number Diff line number Diff line change
@@ -1,163 +1,35 @@
# Retail Geofencing and Location-aware Personalization with Amazon Location Services


# Retail Geofencing and Location-aware Personalization
Amazon Location Services is an Amazon provision of maps, location indexing, geofencing, user tracking, and routing. Geofencing can be used to set off chains of events just when they need to be set off - when your customer is in the right place, at the right time. In this demo we use it together with the ecommerce platform and Amazon Pinpoint to engage customers when they approach physical stores.

Customers are inspired to opt in to share their location by being provided with personalized offers. These offers can be related to customer preferences, local stock levels, and more. In this demo we use Amazon Personalize to select an offer to show to a consumer that can be redeemed in-store. The consumer has the extra convenience and we have enaged with them in a targeted fashion and, moreover, attracted them into our bricks and mortar store where the experience will be, naturally, more personal than online.

There is also an in-store interface that shows a sample view for store staff showing orders that are about to be collected, and transactional messaging for user and store staff around pickup that is triggered by the user approaching the store for pickup.


is an Amazon provision of maps, location indexing, geofencing, user tracking, and routing.
Geofencing can be used to
set off chains of events just when they need to be set off
- when your customer is in the right place, at the right time.
In this demo we use it together with the ecommerce platform and Amazon Pinpoint
to engage customers when they approach physical stores.
## Using the Location Services Demo

To use the Amazon Location functionality, Location Services must be enabled in your region. First, ensure you are deploying Retail Demo Store in a region in which Location is enabled. Next, enable "Deploy Location Services resources" and "Deploy personalized offers and pickup notices using Location Services geofencing" when deploying or updating the solution from CloudFormation. A Location geofence will be set up for you.

From any Retail Demo Store "Shop" menu You can access the Location "In-Store View" where you can see orders made to be collected from in-store. From there you can navigate to "Location Geofence" where you can see the Location Services-provided map and simulated user - from here you can initiate simulations of users travelling close to the default configured store either during a scenario where Location Services can be used to enable a quick collection of bought products and related messaging using Pinpoint Transactional Messaging to email, SMS or web ("collection" scenario), or where the user might be inspired to enter the store to make a new purhcase through the triggering of personalised messages sent using Pinpoint Campaigns to email, SMS and web, either containing offers chosen with Amazon Personalize or containing notices about unfinished shopping carts ("purchase" scenario).

Customers are inspired to opt in to share their location by being
provided with personalized offers. These offers can be related to
customer preferences, local stock levels, and more. In this demo
we use Amazon Personalize to select an offer to show to a consumer
that can be redeemed in-store. The consumer has the extra convenience
and we have enaged with them in a targeted fashion and, moreover,
attracted them into our bricks and mortar store where the experience
will be, naturally, more personal than online.
### Enable email sending.

If you are in the email "sandbox" for Pinpoint, then all recipient emails must be verified according to the below process, to ensure that the emails will be sent.

There is also an in-store interface that shows a sample view for store
staff showing orders that are about to be collected, and transactional messaging
for user and store staff around pickup that is triggered by the user approaching
the store for pickup.
* After deploying the demo, navigate to your Pinpoint application called "retaildemostore" in the UI Console (https://console.aws.amazon.com/pinpoint/home making sure that the region is the same one in which you deployed your demo).
* Click on "Settings" > "Email" in the navigation menu.
* Under the "Identities" tab, click "Edit".
* Ensure the email channel for the project is set to "Enabled" (this will be set after Amazon Personalize campaigns are finished deploying, but you may set it beforehand).
* For the email that you used when you deployed the solution under "Reply-To email address", ensure that the email address is verified. Select this as your "Default sender address".
* For every email to which you plan to send emails, ensure that the email address is verified.
* Save the changes.

Note that you can manage your email and SMS limits within the "Settings" > "Email" and "Settings" > "SMS and voice" menus available under your Pinpoint project. Also note that there are additional limits imposed when your account is in the Pinpoint "sandbox".
Enable SMS sending.

Using the Location Services Demo



To use the Amazon Location functionality, Location Services must be enabled in your region.
First, ensure you are deploying Retail Demo Store in a region in which
Location is enabled. Next, enable

and "Deploy personalized offers and
pickup notices using Location Services geofencing"
when deploying or updating the solution from CloudFormation.
A Location geofence will be set up for you.


From any Retail Demo Store "Shop" menu You can access the Location "In-Store View"
where you can see orders made to be collected from in-store. From there you can navigate to
"Location Geofence" where you can see the Location Services-provided map and simulated user
- from here you can initiate
simulations of users travelling close to the default configured store either during a scenario
where Location Services can be used to enable a quick collection of bought products
and related messaging using Pinpoint Transactional Messaging to email, SMS or web
("collection" scenario), or where the user might be inspired to enter the store to make a
new purhcase through the triggering of personalised messages sent using Pinpoint Campaigns
to email, SMS and web, either containing offers chosen with Amazon Personalize or containing
notices about unfinished shopping carts ("purchase" scenario).



If you are in the email "sandbox" for Pinpoint, then all recipient
emails must be verified according to the below process, to ensure
that the emails will be sent.


After deploying the demo, navigate to your Pinpoint application
called "retaildemostore" in the UI Console
(https://console.aws.amazon.com/pinpoint/home making sure that the region
is the same one in which you deployed your
demo).



Ensure the email channel for the project is set to "Enabled"
(this will be set after Amazon Personalize campaigns
are finished deploying, but you may set it beforehand).

For the email that you used when you deployed the solution
under "Reply-To email address", ensure that the email
address is verified. Select this as your "Default sender address".

For every email to which you plan to send emails,
ensure that the email address is verified.




Note that you can manage your email and SMS limits within the
"Settings" > "Email" and "Settings" > "SMS and voice"
menus available under your Pinpoint project.
Also note that there are additional limits imposed when your account is
in the Pinpoint "sandbox".



Ensure any phone number in the Pinpoint database
to which you intend to send promotional messages (the "purchase" journey
above - for the "collection" journey, the phone number will be recorded against the order)
has opted in to receive promotional messages. For more information on how to ensure this,
see the section in the

Pinpoint messaging workshop.
In brief, you need to (in the USA):


Subscribe to a long-code that supports SMS through the Pinpoint UI so that Pinpoint has a number
to send messages from (this is a requirement in the USA to send messages).

Enable 2-way messaging on that long-code and choose the SNS PinpointIncomingTextAlerts
topic that was deployed along with Retail Demo Store to send messages to, so that responses
to verification SMS messages can be processed to opt in users.

Enter your phone number from the UI to start the verification process and reply to the text
message sent to your phone to opt in.








import {mapState} from 'vuex';

import ArticleLayout from '../ArticleLayout.vue';
import ArticleFeature from '../ArticleFeature/ArticleFeature.vue';

export default {
name: 'LocationServices',
components: {ArticleLayout, ArticleFeature},
computed: {...mapState({isMobile: (state) => state.modal.isMobile})},
};



.digital-interactions {
margin-bottom: 9rem;
}

.logo-and-quote--mobile {
margin-bottom: 20px;
flex-direction: column;
}

.logo-and-quote--mobile .dominos {
width: auto;
max-width: 300px;
}

.cloudformation-text {
font-family: "Droid Sans Mono", "Courier New", monospace;
}

.subheading {
font-size: 70%;
font-weight: bold;
}

.feature-subheading {
font-size: 100%;
}

Ensure any phone number in the Pinpoint database to which you intend to send promotional messages (the "purchase" journey above - for the "collection" journey, the phone number will be recorded against the order) has opted in to receive promotional messages. For more information on how to ensure this, see the "Two-Way SMS with Pinpoint" section in the Pinpoint messaging workshop. In brief, you need to (in the USA):

* Subscribe to a long-code that supports SMS through the Pinpoint UI so that Pinpoint has a number to send messages from (this is a requirement in the USA to send messages).
* Enable 2-way messaging on that long-code and choose the SNS PinpointIncomingTextAlerts topic that was deployed along with Retail Demo Store to send messages to, so that responses to verification SMS messages can be processed to opt in users.
* Enter your phone number from the UI to start the verification process and reply to the text message sent to your phone to opt in.
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,9 @@ to your shopping cart. In the shopping cart page, click on the button that says
email”. This action will emulate a signed out event and will trigger the abandoned cart email sent by Amazon
Pinpoint. Next, check the email account provided during account creation. The Abandoned Shopping Cart email will be in your
inbox.


![img](../../assets/netflix.png)
Migrated 100% of email sending activities to Amazon SES
100M+ emails sent per day in 190n countries
Inbox placement rate > 99%
Reputation score 97/100

“Amazon SES helped us be elastic, we could pay as we went along, and we could stop worrying about optimizing
settings for each ISP.”
Devika Chawla
Director of Messaging and Platform Engineering. Netflix











Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Personalization

[1 - Creating the Account](../../Deployment/1-Creating-account.md) > 2 - Personalization


Personalized user experiences are implemented across several features within the Retail Demo Store web user interface that demonstrate three core use-cases of Amazon Personalize as well as real-time recommendations.

> In order to demonstrate the personalization capabilities of the Retail Demo Store, the required Amazon Personalize Solutions and Campaigns must already be created and enabled via Amazon SSM Parameters. These Solutions and Campaigns can be created as part of the [Personalization workshop](../workshop/1-Personalization/Lab-01-(Core)-Introduction-and-data-preparation.ipynb) bundled with the Retail Demo Store or automatically when the Retail Demo Store is deployed via CloudFormation. If you’re demonstrating with the Retail Demo Store this should already be done for you but still good to be aware if personalization features are not working as expected.
> In order to demonstrate the personalization capabilities of the Retail Demo Store, the required Amazon Personalize Solutions and Campaigns must already be created and enabled via Amazon SSM Parameters. These Solutions and Campaigns can be created as part of the [Personalization workshop](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/1-Personalization/Lab-01-(Core)-Introduction-and-data-preparation.ipynb) bundled with the Retail Demo Store or automatically when the Retail Demo Store is deployed via CloudFormation. If you’re demonstrating with the Retail Demo Store this should already be done for you but still good to be aware if personalization features are not working as expected.
## Datasets

Expand Down Expand Up @@ -39,9 +39,9 @@ Events for multiple event types are generated to mimic shopping behavior. For ex

## Emulating Shopper Profiles

With Amazon Personalize Solutions and Campaigns created based on the generated users, items, and interactions datasets, we can emulate (or assume) user profiles for different personas in the web user interface to see recommendations that should be consistent with the persona. In order to emulate a profile, you must first sign in to the user account you created for yourself as described in [Creating a Retail Demo Store account](1-Creating-account.md). Once signed in, you can click on your username in the top right-corner and then select Switch Shoppers.
With Amazon Personalize Solutions and Campaigns created based on the generated users, items, and interactions datasets, we can emulate (or assume) user profiles for different personas in the web user interface to see recommendations that should be consistent with the persona. In order to emulate a profile, you must first sign in to the user account you created for yourself as described in [Creating a Retail Demo Store account](../../Deployment/getting-started.md). Once signed in, you can click on your username in the top right-corner and then select Switch Shoppers.

![image.png](../workshop/images/retaildemostore-user-menu.png)
![image.png](../../assets/retaildemostore-user-menu.png)

Figure 7. Access Profile Page.

Expand All @@ -57,7 +57,7 @@ The user personalization use-case is implemented on the bottom half of the Retai

> Since the Retail Demo Store is using a Personalize Event Tracker to record real-time interaction events, it is important to keep in mind that recommendations will change as a result of your clicking and browsing activity in the web application. Therefore, the recommendations may not match up to the original shopper persona used to train the model. This is a powerful demo feature, though, since it shows how Personalize adapts to evolving user intent. It can also show how recommendations adapt for new users (i.e. cold starting users).
![image.png](../workshop/1-Personalization/images/retaildemostore-product-recs.jpg)
![image.png](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/1-Personalization/images/retaildemostore-product-recs.jpg?raw=true)

Figure 8. User recommendation use-case.

Expand All @@ -67,7 +67,7 @@ Figure 8. User recommendation use-case.

The related products use-case is implemented on the product detail page in the Retail Demo Store. Since inference calls to campaigns built with the SIMS recipe do not require a user, we are able to display related products using SIMS whether you are signed in as a user or anonymous.

![image.png](../workshop/1-Personalization/images/retaildemostore-related-products.jpg)
![image.png](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/1-Personalization/images/retaildemostore-related-products.jpg?raw=true)

Figure 9. Related products use-case.

Expand All @@ -77,13 +77,13 @@ Figure 9. Related products use-case.

When you are signed in as a Retail Demo Store user, the personalized ranking use-case is implemented on the category view in the Retail Demo Store. When you are an anonymous user, products are displayed in their natural order (i.e. not ranked). The most effective view to demonstrate this use-case is on the “Featured” product view. The reason for this is that this is the one category view that includes products from multiple categories. Therefore, the ranking should be more impactful.

![image.png](../workshop/1-Personalization/images/retaildemostore-personalized-ranking.jpg)
![image.png](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/1-Personalization/images/retaildemostore-personalized-ranking.jpg?raw=true)

Figure 10. Personalized Ranking use-case.

You can also see personalized ranking in product search results. That is, if you are signed in as a user, search results are reranked based on the user's historical and real-time activity.

![image.png](../workshop/1-Personalization/images/retaildemostore-personalized-search.jpg)
![image.png](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/1-Personalization/images/retaildemostore-personalized-search.jpg?raw=true)

## Event Tracking

Expand All @@ -109,7 +109,7 @@ To assess the impact of real-time event tracking in recommendations made by the

If you are demonstrating the Retail Demo Store to a more technical audience, you can illustrate how the events are sent to Pinpoint and Personalize in the background. To do so, open up the Developer Tools in the web browser you’re using (i.e. Chrome), select the Network view, and find the calls to “events” (Personalize) and “legacy” (Pinpoint). The screenshot below illustrates how to display the network call to the Personalize Event Tracker for the “put\_events” endpoint. This is implemented using AWS Amplify to instrument events in the web user interface.

![image.png](../workshop/images/Eventinstrumentationcalls.png)
![image.png](https://github.com/aws-samples/retail-demo-store/blob/master/workshop/images/Eventinstrumentationcalls.png?raw=True)

Figure 11. Event instrumentation calls

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,3 @@ a great way to ensure that a user-defined percentage of recommended items match
relevant to the user. This can be used to highlight products on sale or new products recently added to the catalog.



You can read more about promotional filters on the .



Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,4 @@ relevant to the user. This can be used to highlight products on sale or new prod



You can read more about promotional filters on the .


0 comments on commit 56a5ac6

Please sign in to comment.