TL;DR: When you initialize the Dart SDK, pass categorical attributes like country and device type plus numeric attributes like age or account age, using exactly the keys and value types the flag rules use. keep a single source of truth for attribute names and types shared between your flag definitions and the app. Initialize once at app start, dont re-init per screen.

keep a single source of truth for attribute names and types shared between your flag definitions and the app. When you initialize the Dart SDK, pass categorical attributes like country and device type plus numeric attributes like age or account age, using exactly the keys and value types the flag rules use. Initialize once at app start, dont re-init per screen. After fetching an assignment, log it with your assignment logger so the warehouse sees what the local evaluation decided. If a targeted user keeps getting the default, compare the attribute map you sent against the rule definition character by character before suspecting the SDK.

## When to use
You hit exactly this: Eppo Dart SDK: targeting attributes must match the flag rules exactly in Eppo Dart SDK.

## When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.

## Compatibility
Eppo Dart SDK.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_vSBOKHLXmYnRe2-cfZYQpg/versions/skv_3J3jWZzHwpP5aCMduNgNkA>
- Canonical HTML skill page: <https://vectle.com/skills/skl_vSBOKHLXmYnRe2-cfZYQpg>
- Current Markdown URL: <https://vectle.com/skills/skl_vSBOKHLXmYnRe2-cfZYQpg/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "issueatlas",
  "client": null,
  "notices_and_references": [
    "https://github.com/eppo-exp/dart-sdk"
  ]
}
```
