Skip to content
flowpeek
flowpeek
Try free for 30 daysBook a demo(30 minutes online, opens in a new tab)

30 days for PLN 0 · first payment after the trial · cancel anytime

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.

10 min readUpdated: CustomersAdvanced

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.

1. Separate the person, the visit, the consent and the execution.
ElementCheck question
IdentityDo we know which contact the profile describes?
HistoryIs there a confirmed link to this visit?
ConsentWhat purpose does it cover and is it still current?
ActionWhat 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.
Flowpeek cart scenario with a delay before the purchase check and the action
The delay separates entering the scenario from the action. The contact and consent are checked again before the action; you verify their status outside the diagram itself.

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

01

Treating a purchase as consent for all channels

Check the specific purpose and consent status. Assess legal requirements for the actual process.

02

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.

03

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. 1

    Reproduce the agreed recognition path and check the profile.

  2. 2

    Run a scenario test with a consent status that matches your check plan.

  3. 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.

Read the next guide.

All guides

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

Book a free review(online meeting, opens in a new tab)

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