# Migrate from Singular (/docs/sdk/migration-singular)



Singular's SKAdNetwork conductor is one of the most feature-rich on the
market. If SKAN attribution is critical, the recommended path is to
**run both**:

* Keep Singular for SKAN postbacks and whatever cross-network
  attribution it handles for you.
* Add Layers for Meta CAPI + TikTok Events API + Apple Search Ads
  attribution token + organic / UGC / paid management.

Both SDKs can run side-by-side.

## Full migration (SKAN not critical) [#full-migration-skan-not-critical]

Map Singular events to Layers events:

| Singular          | Layers                                                    |
| ----------------- | --------------------------------------------------------- |
| `__iap__`         | `purchase_success`                                        |
| `__add_to_cart__` | `add_to_cart`                                             |
| `__signup__`      | `sign_up`                                                 |
| Custom events     | Custom events (same name, optionally map via `event_map`) |

[Dual-send](/docs/sdk/migration-appsflyer#dual-send-sketch) for \~14
days, reconcile, then remove Singular.

## Conversion value mapping [#conversion-value-mapping]

If you've configured Singular's SKAN conversion-value schema, that
configuration does NOT transfer to Layers. Apple Search Ads
integration in Layers relies on the attribution token, not on SKAN
conversion-value management.

## Multi-touch attribution [#multi-touch-attribution]

Singular's deterministic + probabilistic stitching is not replicated
in Layers. Layers' attribution focuses on direct CAPI matches and the
Apple Search Ads token. If you need cross-network multi-touch,
Singular should stay.
