flowpeekresources / guides / Customers
Customer profile and consent before marketing automation
You'll check that an automation runs on the right contact, with the current consent status and a history that was actually recognized.
Short answer
The key answer
A customer profile combines the available information about a recognized person, but an e-mail address or a purchase alone isn't consent to every kind of communication. Before automating, check contact recognition, the link to the visit, the purpose of the consent and whether it's still current — separately. In Flowpeek, the contact and consent are checked again before every scenario action.
- Four separate elements of contact readiness
- A test of consent withdrawn during the delay
- Recognition scope depends on the integration
Key terms in plain language
- Identified contact
- A person who can be linked to a specific customer or subscriber record.
- Profile
- The available history of visits, interests and purchases gathered in one place.
1. Separate the person, the visit, the consent and the execution.
In day-to-day work it's easy to squeeze everything into one sentence: "We have a customer, so we can send a message." Technically, that sentence hides several different facts. A customer record may contain contact details and still have no link to the current visit. A linked visit may be visible without the active consent needed for a particular action.
Before you launch a scenario, go through the four questions in the table. That way you'll explain more quickly why a contact received a tag or why an action was skipped. You don't have to guess based on how the profile looks. In Flowprofile you can check recognition and the person's available context, and in the automation history — how the action went.
| Element | Check question |
|---|---|
| Identity | Do we know which contact the profile describes? |
| History | Is there a confirmed link to this visit? |
| Consent | What purpose does it cover and is it still current? |
| Action | What was done in the connected platform and with what status? |
2. Check where the profile data comes from.
Flowprofile can receive data through different routes. In WooCommerce, the integrated plugin handles login, registration and selected forms, among other things. In IdoSell, PrestaShop and Shopify, the available customer stream also makes it possible to recognize a person who hasn't placed an order. The exact scope depends on the integration and the data that's shared.
Not every anonymous visit becomes a profile with an e-mail address. Flowpeek may pull customer data from the store but have no confirmed link to that person's earlier anonymous visits. In Shoper, the current order-based route doesn't provide the same range of consent sources or profiles without a purchase. During setup, agree on the specific recognition path instead of assuming every platform works the same way.
3. Don't fill in missing history.
If the store connection passes on customer data without the information needed to link it to a visit, the profile won't reconstruct the earlier history. Order history and behavior history have different scopes. A missing link is information about the data, not proof that the customer never visited the store before.
Pick one controlled example and check the path from visit to recognition. See whether the profile update matches the action taken in the store. Then compare what you see in the user journey. Don't link people based only on similar behavior, a name or visit time. This caution helps you avoid wrong personalization and sending an action to the wrong contact.
4. Check the purpose and currency of consent.
When processing is based on consent, the EDPB guidelines describe the requirements that it be freely given, specific, informed and unambiguous, as well as the ability to withdraw it. These are principles you need to apply to the actual process in your store. A purchase or creating an account isn't automatically proof of consent to any marketing communication.
On the operational side, check the source of the consent status, its purpose, the date it was updated and how a change is passed to the integration. Establish what happens after someone unsubscribes and whether a later import restores an outdated status. Consult the person responsible for data protection about the choice of legal bases, form wording and the requirements for a particular channel. This guide describes process checks and product capabilities; it doesn't replace a legal analysis of your store.
5. Separate the setup method from consent handling.
A custom domain helps organize how measurement works technically. Sending an event from the server can supplement the data available from the browser. Neither of these choices on its own determines your right to further use information about a person. Don't equate a server address with the scope of consent.
For example, Google's official documentation for server-side tagging describes passing on consent status and adjusting how tags behave. This shows that a server-side architecture also requires deliberate signal configuration. In your own setup, trace the entire flow: the form or customer settings, the integration source, the profile and the target action. The promise that "server-side collects everything" ignores these differences and isn't a proper acceptance criterion.
6. Test a consent change during the scenario.
Consider a scenario: a customer adds a product to the cart, the automation waits three hours and then is supposed to add a tag in the marketing tool. In that time, the customer may buy or withdraw consent. The status at the moment of entering the scenario shouldn't be the only basis for a later action.
Flowpeek checks the contact link and consent again before each action. In a controlled test, check the variant with no changes and the variant where consent is withdrawn during the delay. Read the execution history: a skipped action can be the correct result, not a failure. Check the target platform's response separately, because adding a tag or changing a field isn't the same as a message being sent.
The editor shown has a 30-minute delay. Use that window for a controlled consent-change test: start the scenario for your own test contact, change the status at the integration source and check that it's updated before the action. The diagram alone doesn't show a particular person's current consent status — to evaluate it, you need the profile, the execution history and the status in the target tool.
- Contact recognized, consent current: check the expected action.
- No contact link at entry: check that the visitor doesn't enter the scenario.
- Consent withdrawn during the wait: check the status before the action.
- Purchase before the delay ends: check the purchase condition branch.

7. Write down the operating rules and the test result.
For your first scenario, write down its goal, contact source, target platform name, trigger and action condition. Add controlled examples and expected results. A description like this helps whoever takes over the store understand why a process works, without reconstructing every decision from memory.
Regularly check integration errors and skipped cases. Don't try to increase the number of executed actions by removing consent checks. If many events don't find a contact, start with recognition and the integration scope. If the contact exists but the status change doesn't reach the platform, trace the sync. Separating these problems shortens diagnosis and helps you build communication based on the customer's actual context.
Common mistakes
Treating a purchase as consent for all channels
Check the specific purpose and consent status. Assess legal requirements for the actual process.
Treating store customer data as the full visit history
Verify that there is a technical link to the visit. Don't reconstruct missing behavior with assumptions.
Assuming a skipped action is an error straight away
Read the reason. The current contact or consent status may correctly stop the execution.
For your next review
Checklist
- I know the source of contact recognition and the scope of my integration.
- I've checked the profile's link to the visit.
- I know the source, purpose and current status of consent.
- The test covers consent withdrawal during the delay.
- The action history and the status in the target platform match.
Now your store
Check one controlled contact from start to finish.
- 1
Reproduce the agreed recognition path and check the profile.
- 2
Run a scenario test with a consent status that matches your check plan.
- 3
Check the withdrawal variant, the execution history and the result in the target tool.
From report to decision
Example note after testing a controlled contact
The record below illustrates a technical test. Choose the expected states to fit your own integration, your process and the actual purpose of the communication.
- Recognition
- Write down the contact source and when it appeared in the profile. Confirm that it hasn't been confused with another person.
- History link
- Check the controlled visit and the later recognition. Separate the visible link from history the integration didn't deliver.
- Status change
- During the wait, withdraw consent for your own test contact at the agreed source. Write down when you made the change and when the update appeared in the integration.
- Result
- Before the action, check the contact status, the run history and the target platform. Don't mark a correctly skipped action as a failure.
- Conclusion
- If the change didn't arrive, report the specific sync stage. If it arrived but the action differed from what was expected, check the conditions and the action history.
Instead of a vague "the profile doesn't work," you have a description of the source, timing and result. That helps you find the problem faster and build communication based on the right contact.
Questions and answers
Will Flowprofile recognize every visitor?
No. Recognition depends on the available identifiers and the integration. A visit may remain anonymous.
Does changing the domain automatically solve consent?
No. The domain is part of the technical setup. The purposes of data use and the requirements for communication need a separate assessment.
Does Flowpeek check consent only when the automation starts?
The contact and consent are checked again before every scenario action. The status may change during the wait.
From knowledge to report
Open the right module.
Flowprofile
A card for each recognized customer: visits, purchases and consents in one place. Check the context before you choose an audience or plan your communication.
Automations
Combine the Flowpredict score with the offer being viewed and the visit history. Automatically tag recognized contacts who have the right consent in your marketing tool, even before they add a product to the cart.
User journeys
Open a visit's history and follow the path from the first page to the cart or order. See where the visitor came from, which products they viewed and what they did, step by step.
Read the next guide.
All guidesAutomations / 14 min
Abandoned cart automation, step by step
Set up the event, the delay and contact tagging. Tell pre-cart intent apart, test both branches and remove the earlier tag after a purchase.
Setup / 11 min
Your first 30 days with Flowpeek: from setup to decisions
Plan your Flowpeek start: setup in 48 hours, a data check, first reports and a consultation. Judge the trial by your own store's questions.
Free · 30 minutes · online
GA4, your store and your ads show different numbers? We'll check it with you.
We compare one month of sales across your tools and point out three fixes to your measurement. No strings attached. What we check
30 days on your own data
Connect behavior with a known contact and the right action.
In the Flowpeek trial, check customer recognition and the scope of data available from your integration. During the consultation, walk through one scenario from event to action in your marketing tool.
- No fixed-term contract
- We set everything up for you in 48 h
- App servers in Germany (EU)
- Cancel anytime
30 days for PLN 0 · first payment after the trial · cancel anytime
See pricing after the trial