The RGPD came into force in May 2018. Its aim is to protect users’ personal data. With this new law, companies are obliged to ask for prospects’ consent to establish digital communication.
Remarketing puts ads in front of consumers after they’ve visited an e-commerce site. Prior to this law, no prior request is made to these prospects. How do you strike the right balance between remarketing and RGPD? These remarketing strategies are a great strength for businesses, but do they comply with RGPD rules?
The entry into force of the RGPD: rules to comply with
With this new law, digital rules have evolved. All websites, especially e-commerce sites, must take steps to keep up with these legal developments.
Nowadays, for all remarketing strategies, it’s essential to have consumer consent. It is no longer possible to collect personal information without authorization.
To achieve this, all websites and online stores must have a cookie-use banner. The message displayed should be clear, telling users that the online store is collecting information.
Even if the prospect does not fill in any fields, all information such as pages visited and location is retained. This data is used for analysis tools such as Google Analytics.
This marketing authorization also requires the site to include a legal notice page explaining how the information collected is processed.
With these legal obligations, how do you reconcile remarketing and RGPD?
The tools for implementing a remarketing strategy have had to evolve. Google Ads now allows users to choose between general ads and personalized ads (based on the information gathered).
Depending on user consent on Google, ads vary.
What’s more, for Google Analytics, it’s possible to opt out of remarketing lists. A compromise had to be found between remarketing and RGPD. That’s why the choice is left to prospects.
However, if the consumer gives his or her consent, advertisements from all brands can be shown to the consumer, and may appear while he or she is surfing the web. On the other hand, if the consumer refuses these data collection practices, the targeted and personalized ads of e-tailers will never be shown, whatever the device used.
In the wake of the RGPD, the leading search engine has been forced to react. Terms of use have been updated to accompany all legal obligations.
These novelties were restrictive for online stores. However, over time, a real balance between remarketing and RGPD has been found. These new laws now present real advantages for e-tailers:
Consumers, having given their consent, are open to discussion and thus willing to hear the message conveyed.
The company comes across as sincere, transparent and prospect-oriented.
Remarketing lists may be smaller than before the law, but they are all the more qualified because they are informed consumers who are genuinely interested in what you have to offer.
With around two-thirds of French people (65%) using Facebook(Hootsuite, 2019), the social network is unavoidable. And to make a difference, you need to invest in this channel intelligently.
Of course, animating your Facebook page is interesting, butengaging your audience will give you more credibility. To develop engagement and win the trust of prospects, you need to involve consumers and invite them into the discussion.
How do you create commitment and win the trust of consumers?
Don’t fall into the numbers trap. 10,000 subscribers won’t do your e-commerce business any good if no one is talking to you. What’s important is that there’s a genuine discussion between your online store account and prospects.
1. Be on the same wavelength
To create publications that work and generate interaction, analyze your audience’s tastes and interests. In keeping with your brand image and field of activity, present content that appeals.
We need to find the right balance.
For example, if your audience likes soccer and you create a publication around rugby, it will be difficult for them to share and comment.
A publication based on their area of interest creates a discussion. Asking a question at the end of a publication encourages people to leave a comment.
What’s more, to ensure the success of an online store and develop engagement, don’t hesitate to ask prospects what they want to see.
Analyze the publications with the most impact to stay on this wave of engagement. Our advice is to focus on videos. It’s a type of content that arouses users’ curiosity.
To build community engagement, you need to be present in the right place at the right time. Depending on your audience and your target audience, choose the right social network:
If you’re targeting businesses and the professional sector, it’s best to be active on Linkedin.
For an 18-25 year-old target, Instagram is your best ally. Facebook’s core audience is aged 25-45: but it remains the network with the most active members.
These social platforms should be chosen according to the type of speech and communication you want to work on.
For example, for very fast interaction, Twitter is perfect. Thanks to the ease of tweeting, this platform enables high engagement.
3. Be present
If you want to build engagement around your e-commerce site, regularity is your best weapon. Gradually, you’ll gain credibility and legitimacy.
Make sure your content distribution is well organized. An editorial plan is essential. It will enable you to anticipate and plan in advance the themes, types of content and publications to be disseminated.
Our advice is to involve consumers as much as possible in order to develop engagement. Creating engaging texts makes people want to write a comment. Users will identify with what you have to say.
Over the years, Facebook has proved its worth in terms of audience development. Given the number of users per year, this social network has become a must-have. However, it’s important to make the most of it to increase your visibility and boost your e-commerce sales.
Today, it’s difficult to simply post a publication and wait for users to find you.
Indeed, with the growing number of activities and Facebook’s algorithm changes, your publications can quickly become invisible and fail to reach your audience or even your fans.
How can I be visible on Facebook? What are the techniques for reaching your audience on this social network?
To succeed in being visible on Facebook, it’s important to understand how this social network works. There are 3 ways to get your posts visible:
1. The paid approach: this involves setting up targeted advertising campaigns and sponsoring your posts to appear on the accounts of your fans and target audiences.
2. The organic approach: allows you to reach people in your network for free, i.e. your fans, but also people who follow certain hashtags.
3. The viral approach: a prospect discovers your publication and your online store thanks to the action of another user. This happens mainly with publications that generate buzz. Nevertheless, shares, mentions or comments can create a viral post.
However, it’s good to know or remember that the organic approach doesn’t lead to high visibility.
Depending on the format you use for your post (photo, video, link, status), you’ll only reach an average of 6% of your fans (Visit [une étude détaillé de Buffer](https://buffer.com/resources/facebook-marketing-strategy on organic Facebook page strategies).
As a result, your publication runs the risk of blending into the crowd. So either create a buzz with high-quality content, or invest in targeted advertising.
Be consistent: it’s essential to have content that relates to your product or service. Build a communication strategy around your publication ideas.
In this way, little by little, your e-commerce profile will become indispensable. We advise you to bet on videos. Very fashionable in recent months, they captivate and arouse the curiosity of Internet users.
Focus on quality, not quantity: it’s better to have 500 people following and interacting with you than 10,000 phantom followers.
What’s more, don’t post every day if you can’t guarantee the quality of your publication. The more irrelevant posts you make, the more Facebook will penalize you.
Filtering: when you schedule a publication, you can choose how your post is highlighted according to people’s interests and tastes.
Create a schedule so you know when to post and how many posts you’ll have every week. Do this according to your target audience’s presence on social networks.
If you publish at midday when prospects are present at 6pm, it’s not good for your online store.
Be there. Respond to comments, whether positive or negative. Don’t bury your head in the sand. You need to respond to show your transparency.
Rely on influencers in your industry. They can bring you more visibility.
If you can, invest. Pay for Facebook ads to reach your audience. Depending on your budget, make sure you’re visible on targeted profiles. Don’t forget to analyze the results to make any necessary adjustments.
Conclusion
With the application of these methods, your online store can gain visibility on Facebook. However, if you want to ensure immediate visibility of your news on your networks, you’ll need to set aside a media budget and parameterize your audiences more effectively. Our SEA agency and our SEA experts are at your disposal to implement your acquisition strategies and targeted advertising campaigns to support your efforts on your social networks.
How do you captivate your customers and prospects? How to attract their attention on social networks? How to make them want to click on your content and interact with your online store.
To attract your target’s attention, it’s important to know their tastes and interests.
To get your audience to visit your e-commerce site, you need to add value. You have to teach them new things and keep them informed.
Demonstrate your expertise and become an indispensable source of information.
Create a link to get closer to your audience
Do you want to communicate with your target audience, but don’t know what to say? What content might interest them?
The first step is to put yourself in their shoes. What questions might your customers have about your products or services? If they’re interested in what you’re selling, it’s because they like it or need it. That’s why it’s important to provide them with all the information they need.
Don’t just think about your sales and don’t be egocentric. It’s essential to look at the customer and put yourself in their shoes. If you were a customer of your company, what would you like to see? What questions do you have about your products?
To captivate your audience, the second step is to interact with them. Many companies don’t think about this, but you can do it on social networks like Facebook or Instagram.
Also send out questionnaires and surveys in your newsletter. But don’t make them too long. Keep it simple: “What content would you like to see?
These few tips will enable you to draw up an initial list of themes to address to arouse your target’s curiosity.
Often you’re not starting from scratch, but rather evolving your existing online offering and strategy. That’s why all the information you have is beneficial and worth using.
Your analytics data is a real gold mine. With the right analysis, you’ll know which pages are popular on your site, and how much time is spent on your content.
Thanks to this indication, you can identify the major themes and most-read articles, which will certainly need to be optimized or expanded.
Read comments on social networks. They can be a source of inspiration.
Join groups on Facebook and Linkedin. Consumers usually share life experiences and questions. You identify problems and present solutions to prospects.
Find inspiration through competitive intelligence
To face up to the competition, there’s nothing better than discovering the subjects they cover.
Which publications are successful? What solutions are presented? What situations give them visibility?
Your competitors have the same audience as you. So they can inspire you.
Conclusion
To captivate your audience, you can tackle any subject as long as it falls within your theme.
The main objective is to reach a portion of your prospects with content that informs them and can be useful, and thus build customer loyalty.
Stay in your niche so you don’t lose out on opportunities. Don’t be afraid to show your personality and be different.
Our SEA agency and Ecommerce experts are at your disposal to discuss the best strategies for your target audience.
Measuring your audience is an essential step in developing your business on the web.
It enables you to take stock of your acquisition strategies and the quality of your traffic. Google Analytics is a powerful tool for accessing quality information.
Google Analytics: an indispensable tool for your company’s success
To ensure the success of your e-commerce or lead generation site, you need to make data analysis a priority.
You need to understand consumers’ needs, where they are, their gender and age, and anything else that might help you improve their experience on your site.
The more information you have about them, the more you’ll be able to personalize your approach, identify problems and improve your communication.
The number of people affected
You can find out how many people are affected each day.
This measurement enables you to understand whether your advertising actions are having an impact, and whether you’re continuing to increase your audience and traffic.
Which acquisition channels
Internet users can arrive on your site through various channels: social networks, search engines, partner sites, etc.
The acquisition report identifies how your prospects arrived on your site. This may be through your advertisements, or your Facebook page…
Once you know where visitors are coming from, it’s vital to identify the channels that bring you the most conversions, so you can intelligently allocate your investments to the right channels.
Using Google Analytics to measure your audience enables you to perfect your communication tools.
In fact, through analytics data, you can find out where your audience leaves your site, and identify the pages where they leave.
To keep prospects on your pages longer, we recommend A/B testing. This practice gives you the opportunity to imagine two strategies and evaluate their impact.
You can choose between two approaches, and only keep the one that really works.
Measure your audience to know it perfectly
This free tool gives you access to various indications:
Most visited pages The social network where you have the most impact Usage habits: smartphones, computer, tablet
Conversion rate
The main objective of your e-commerce business is to generate sales and find customers.
Google Analytics gives you a helping hand by telling you which channels have helped you sell and convert. So you need to ask yourself the right questions:
Are your social networks powerful? Do your advertising campaigns convert? Have you seen a return on investment?
Google Analytics, made available to you free of charge by Google, should become your best ally in developing your e-commerce business.
The cloud is everywhere, and we hear about it on every street corner. Chances are you or your company use a cloud service in one way or another (AWS, Google Cloud, to name but two).
If you use it intensively (several machines running continuously), you may be interested in auto-scaling.
Auto-scaling allows you to add or remove machines as needed, in near-real time. For example, when user traffic increases dramatically and your servers are underwater, auto-scaling lets you add machines to free up the load on existing servers, reduce response times for your users and maintain the quality of service you offer.
Without auto-scaling, the opposite problem also exists: in off-peak periods, your machines have nothing to do, but you pay them anyway.
This is of course good for the Cloud platform you’re using, but not so good for you.
At Adenlab we use Google Cloud, and of course we use auto-scaling. The need is as follows: at night, we import data from your Google Ads, Analytics, Amazon, Bing, etc. accounts.
We learn from this data (machine learning), calculate new bids for your products, and update them on the relevant platforms. And we do so much more! All this every night.
Each of these operations has specific requirements in terms of volume and machine power. For example, we have some powerful machines for machine learning, and many less powerful machines for updating auctions.
Having so many full-time machines would be a net loss of budget, since most of them have nothing to do during the day. We therefore group these machines according to their type (power, etc.) into groups, called Auto-Scaling Groups.
Auto-Scaling Groups
Auto-scaling groups (ASGs) are used to group machines of the same type under the same auto-scaling policy.
By default in Google Compute Engine (GCE), you can choose to scale according to CPU or memory usage. Using the Stackdriver monitoring tool, you can create custom metrics to increase or decrease the number of machines.
Unfortunately, it’s impossible to automatically scale an ASG to zero, i.e. to cut all the machines in the group. This is quite logical, since in the absence of a machine we would no longer receive any metrics (CPU or other) leading to re-scale again.
In our case, many of our machines work at specific times of the day, usually for 8 to 10 hours at a time, and will have nothing to do for the rest of the day. Here’s an example of how our auto-scaling policy works:
We have a machine that does nothing for almost 2/3 of the day.
Auto-scaler to machine zero
Of course, we’d like to avoid having to pay for a useless machine. We’ll see that there’s a way to have zero machines and still have an automatic scaling system.
However, there is one prerequisite: we need a way of knowing when it’s time to scale up again.
At Adenlab we use a taskqueue(MRQ) for our recurring jobs. MRQ allows us to route our jobs to specific worker groups, depending on the queue and/or the task itself. Each worker group is linked to an ASG, so we have a clear metric here: for a given ASG, do we have any jobs queued?
With all this, we can use the following ASG structure:
A small (read: inexpensive) machine that will always be up (not self-leveling)
One or more ASGs, without auto-scaling policy
By creating an ASG without an auto-scaling policy, GCE will let us scale to zero machines if we want. On our little machine, we’ll have a script that runs every 5 minutes and checks each MRQ worker group for jobs to process.
If this is the case, the script will create an auto-scaling policy for the worker group concerned, and scale it up to 1 machine. The auto-scaler can then add additional machines as required, depending on the base metric configured (in our case, CPU utilization).
Let’s write an MRQ task for this script. Already the necessary imports :
from mrq.task import Task
from google.oauth2 import service_account
from googleapiclient import discovery
import time
import re
First, we need to configure a few parameters concerning GCP :
class ScaleUp(Task):
project_name = "name of your GCP project"
zone = "europe-west1-c" # adapt your zone here
service_account_path = "service_account_credentials.json"
# groups that are not concerned by this task
groups_to_skip = ("group1",)
Add to groups_to_skip the worker groups that should not be auto-scalated: at least add the group of the machine that will unstack this task.
Now let’s write the main method of our task:
def run(self, params):
credentials = service_account.Credentials
.from_service_account_file(
self.service_account_path
)
self.service = discovery.build(
"compute",
"v1",
credentials=credentials,
cache_discovery=False
)
# We need to have a way to know what we want our different
# autoscaling policies to be.
# We could store them in a DB and fetch them here,
# so that it is shared with our Ansible playbooks for instance.
# For simplicity here we'll just hardcode them here:
self.autoscaler_configs = {
"group2": {
"min_replicas": 1,
"max_replicas": 10,
"cooldown": 180,
"cpu_target": 0.80
},
"group3": {
"min_replicas": 1,
"max_replicas": 8,
"cooldown": 180,
"cpu_target": 0.90
}
}
# First we need to fetch existing ASGs
self.fetch_groups()
# Next we want to know which groups currently have an autoscaler
self.fetch_autoscalers()
# Check each groups and see if we should scale them up
self.check_groups()
Here’s how to retrieve ASG information:
def fetch_groups(self):
self.groups = {}
request = self.service.instanceGroupManagers()
.list(
project=self.project,
zone=self.zone
)
while request is not None:
response = request.execute()
for asg in response['items']:
group_name = asg["baseInstanceName"]
self.groups[group_name] = {
"base_name": group_name,
"name": asg["name"],
"size": asg["targetSize"],
"link": asg["selfLink"]
}
request = self.service.instanceGroupManagers()
.list_next(
previous_request=request,
previous_response=response
)
We hydrate self.groups with ASG information. For more info on ASG structure, see here.
Now let’s take a look at the code we’ll use to create an autoscaler for a given worker group:
You can find the wait_for_operation code in this example.
The last thing we need is a method for scaling up an ASG:
def scale_up(self, group, size=1):
if self.groups[group]["size"] > 0:
# Already scaled up
return
# Make sure we have an autoscaler
if not self.autoscalers.get(group):
self.create_autoscaler(group)
operation = self.service.instanceGroupManagers().resize(
project=self.project,
zone=self.zone,
instanceGroupManager=self.groups[group]["name"],
size=size
)
wait_for_operation(operation)
The final logic of our task is quite simple:
def check_groups(self):
# Now we have everything we need for the actual task logic:
for group in self.groups:
if group in self.groups_to_skip:
continue
if self.should_scale_up(group):
self.scale_up(group)
should_scale_down is the method that should contain your scaling logic. We don’t provide it here, but remember that in our case it’s a question of checking whether or not we have jobs waiting to be processed.
This task is scheduled to run every 5 minutes. This is convenient for our use case, because even if there are no pending jobs, a team member can perform an action at any time, which will result in the creation of a new job.
We don’t want to have to wait too long for it to be started. Of course, for any user actions that create jobs and are supposed to get a quick response, we need a dedicated machine that’s always up.
In most cases, however, it’s best to avoid asynchronous tasks for user interactions that require feedback.
So now we can scale up a machine when we need it, and GCE will take over if we need more. But we also need a way to scale down to zero when we don’t need it again!
To do this, we have a second task, running every 30 minutes, which will execute the same code as the first, with the difference that it will remove the autoscaler and scale to 0 machines if there are no pending jobs.
We can inherit our new task from the previous one, so that we have all the methods we need to communicate with GCP :
class ScaleDown(ScaleUp):
We also need some new methods to scale down:
def delete_autoscaler(self, group):
autoscaler = self.autoscalers[group]
operation = self.service.autoscalers().delete(
project=self.project,
zone=self.zone,
autoscaler=autoscaler["name"]
)
wait_for_operation(operation)
def scale_down(self, group):
if self.groups[group]["size"] == 0:
# Already scaled down
return
# Delete the autoscaler so that we can scale to zero machine
if self.autoscalers.get(group):
self.delete_autoscaler(group)
operation = self.service.instanceGroupManagers().resize(
project=self.project,
zone=self.zone,
instanceGroupManager=self.groups[group]["name"],
size=0
)
wait_for_operation(operation)
def check_groups(self):
for group in self.groups:
if group in self.groups_to_skip:
continue
if self.should_scale_down(group):
self.scale_down(group)
When we know there are no more pending jobs, we remove the autoscaler and scale down completely. Again, should_scale_down contains the scale down logic to be implemented.
The positive side of this approach is that we can have several scaling criteria. For example, to avoid scaling up and down several times in a row too close together, we can also check that a certain amount of time has elapsed without a job being created before scaling down.
Conclusion
We have seen that by deleting the autoscaling policy, we can delete all the machines in an instance group.
We’ve written an autoscaling task that uses custom logic to determine whether a group should be up (1 machine) or down (0 machine).
The disadvantage is that we have to have a separate machine, always up and ready to unpack our autoscaling task.