Skip to main content
Contributor I
October 23, 2026
Question

Help diagnosing segment membership that differs between a list-only condition and a combined segment

I'm trying to understand an unexpected difference in segment membership. I'm using test segments only; the router flow remains in Draft and has not been activated.

The intended DACH router uses these conditions, all joined with AND:
- Country is Switzerland, Germany, or Austria
- Person is in the English welcome list
- Person is not in the German welcome list
- Received Email is zero times over all time where Campaign Name equals the English Archive 01 campaign
- Received Email is zero times over all time where Campaign Name equals the German Archive 01 campaign

Observed results:
- The router segment shows 12 members, including profiles that appear to meet one or more of the exclusion conditions.
- A list-only isolation segment with just "Person is not in the German welcome list" shows 20 members and correctly excludes Profile A, who is in that list.
- A receipt-only isolation segment using the English Archive 01 campaign condition shows 21 members. Profiles A, C, and D, who have recorded English Archive 01 receipts, still appear in it.
- A separate three-condition test (DACH country AND in English list AND not in German list) shows 21 members, including Profile A and profiles outside the DACH countries.
- The saved three-condition test shows AND between all three conditions. Its membership remained 21 on a later recheck.

For context, the anonymized receipt checks show Profile A received English Archive 01 on Sep 10 and is also in the German welcome list; Profile B received German Archive 01 on Aug 24; Profile C received English Archive 01 on Sep 28; and Profile D received English Archive 01 on Sep 30. The same campaign label appears to match in flow filters for a receipt, while the corresponding segment receipt conditions do not exclude the checked profiles.

Could someone help diagnose what might explain this difference? In particular, is "Campaign" in the segment builder the same property as "Campaign Name" on a Received Email event, and are there known evaluation or refresh considerations when combining list membership, country, and event conditions?

I'm looking for a way to verify the saved event-property match and segment evaluation, not to assume there is a product defect.
 

1 reply

Temi O.
Community Manager
Community Manager
October 27, 2026

Hi ​@BESStudio , 

Thank you for reaching out and sharing these details. Given what you’ve shared, the first thing I would verify is the Received Email property.

Campaign and Campaign Name should not be assumed to be the same field. For a standard campaign-recipient segment, use:

What someone has done (or not done) > Received Email > at least once > over all time > where Campaign Name equals [exact campaign selected from the dropdown]

Klaviyo’s campaign guidance uses Campaign Name for this type of filter. If you are identifying one specific flow message or message variant, Message Name may be the more precise property. A matching label in a flow filter does not prove that the segment is querying the same event property.
 

I would test the event condition before combining it with country and list logic:

  1. Create a positive isolation segment using Received Email at least once with Campaign Name equal to the exact campaign selected from Klaviyo’s dropdown.

  2. Confirm whether Profiles A, C, and D appear. Open each profile’s Received Email event and compare the actual property name and value, including punctuation, spacing, and capitalization.

  3. Create the inverse segment using the same property and exact value, but zero times over all time.

  4. Profiles that appear in both the positive and negative segments indicate that the saved condition is not matching the same event data, or that the segment has not finished reprocessing. They should not appear in both once the same event property and value are used.

  5. Refresh the segment manually and allow time for processing before comparing counts. Klaviyo evaluates segments close to real time, but processing delays can occur. Use the time of the refresh when comparing the membership snapshots.

Then validate the non-event conditions independently:

  • Person is not in the German welcome list checks current list membership. It does not check whether someone is unsubscribed from German email or whether they previously belonged to the list.

  • The country condition should use the profile’s current Country property and an “is any of” style operator for Switzerland, Germany, and Austria. Check the actual Country value on each profile, since location data can be missing, outdated, or inferred from an IP address.

  • With AND connectors, every condition must be true. A profile outside those three countries should not remain after the segment has been refreshed if the saved condition really uses the profile Country field and the three country values.

The most useful diagnostic is therefore to identify the first condition that fails for one known profile. So for example, Profile A should be excluded by both the German-list condition and the English Archive 01 receipt condition. If the list-only test excludes A but the receipt-only test does not, the issue is isolated to the Received Email property/value match, not the AND logic. If the three-condition segment still includes profiles outside DACH after a manual refresh, inspect their stored Country values and confirm that the segment was updated after the definition was saved.

Klaviyo’s segment conditions reference, campaign-recipient segmentation guidance, and segment refresh guidance cover these checks for more information!

If a positive Campaign Name segment correctly finds A, C, and D but the identical zero-times condition still includes them after reprocessing, please let me know so we can follow up with our Support team. 

 


Temi@Klaviyo