Deep Link: wat is het, linktypen en werkingsprincipe

Auteur: IT Sectr Gepubliceerd: 2026-05-14 Leestijd: 9 min

Deep Link (diepe link) — is een URL die de gebruiker naar een specifiek scherm of inhoud in een mobiele app leidt, waarbij het startscherm wordt overgeslagen. In tegenstelling tot een gewone link naar een website, activeert deep link de app en opent direct de doelinhoud. Volgens Android Developers verhogen correct geconfigureerde deep links de conversie naar de doelactie met 30–50% door het aantal stappen naar de inhoud te verminderen.

Belangrijkste

  • Deep Link — URL die een specifiek app-scherm opent, niet de startpagina
  • URI-schema (myapp://profile/123) — klassieke deep link-methode, werkt op beide platforms
  • Deferred Deep Link — link die activeert na installatie van de app, met context
  • Universal Link (iOS) en App Link (Android) — evolutie van deep link met domeinverificatie
  • Contextuele deep link — geeft extra parameters door: promotiecode, referrer, verkeersbron

Deep Link (diepe link) — is een URI die bij het klikken geen webpagina opent, maar een specifiek scherm in de mobiele app. De technologie lost een fundamenteel probleem van mobiele platforms op: de browser kan niet direct een app-scherm openen, en deep link creëert een brug tussen het web en native code. Zonder deep link komt de gebruiker altijd op het startscherm en moet handmatig naar de gewenste inhoud navigeren.

De architectuur van deep link bestaat uit twee delen: het schema (scheme) bepaalt welke app de link moet verwerken, en het pad (path) verwijst naar een specifieke resource in de app — product, artikel, gebruikersprofiel of instellingensectie. Queryparameters (?source=push&campaign=summer) geven extra context door voor analyse, personalisatie en campagnetoewijzing.

Het is belangrijk onderscheid te maken tussen deep link en een gewone link. Een gewone link (https://example.com/product/42) wordt geopend in een browser en leidt naar de webversie van de pagina. Deep link (myapp://product/42) opent met geïnstalleerde app het native scherm met dezelfde inhoud, en als de app ontbreekt — toont het een foutmelding. Precies voor het oplossen van het naadloze fallback-problem zijn Universal Link (iOS) en App Link (Android) gemaakt.

Verschillende taken vereisen verschillende soorten deep links. Sommige links werken alleen met geïnstalleerde app, andere kunnen wachten op installatie, en weer andere geven analytische context door. De keuze van het type hangt af van het gebruiksscenario: reclamecampagne, pushmelding, delen van inhoud of e-mailcampagne.

Gewone Deep Link (Standard Deep Link)

Standard Deep Link — het basistype dat alleen activeert als de app al op het apparaat is geïnstalleerd. De gebruiker klikt op de link myapp://product/42, het systeem vindt het geregistreerde schema en opent de app op het juiste scherm. Als de app niet is geïnstalleerd — toont de browser de fout „Pagina niet gevonden” of doet gewoon niets. Dit type is geschikt voor interne navigatie in een reeds geïnstalleerde app.

Het configureren van standaard deep link is eenvoudig: registreer gewoon het URI-schema in het manifest (Android) of Info.plist (iOS). Geen servervalidatie of SSL-certificaten nodig. Maar juist door het ontbreken van fallback wordt dit type als verouderd beschouwd voor marketingcampagnes — verkeersverlies van gebruikers zonder app bedraagt tot 60%.

Deferred Deep Link (uitgestelde diepe link)

Deferred Deep Link lost het belangrijkste probleem van gewone deep links op: het werkt zelfs als de app niet is geïnstalleerd. De gebruiker klikt op de link → ziet een pagina (landing of App Store/Google Play) → installeert de app → bij de eerste start ontvangt de app de context van de originele link en opent het gewenste scherm. De technologie vereist een tussenliggende SDK (AppsFlyer, Branch, Adjust) die de context op de server bewaart tot de eerste start.

Branch — een van de populairste platforms voor deferred deep link. Het biedt een uniforme link die op alle platforms werkt: detecteert het besturingssysteem van de gebruiker, verwijst door naar de app store, en na installatie geeft het de context door (promotiecode, productidentificatie, campagnewerkomst). Volgens Branch-gegevens (2024) verhogen deferred deep links de conversie van reclamecampagnes met 40–70%.

Contextual Deep Link (contextuele diepe link)

Contextual Deep Link — is een gewone of deferred deep link aangevuld met contextparameters: verkeersbron (source), campagne (campaign), promotiecode, referrer, partneridentificatie. De parameters worden in de URL doorgegeven en door de app verwerkt voor personalisatie: het tonen van een welkomstbonus, het openen van een product met korting, het registreren van installatie-analyse.

UTM-labels (utm_source, utm_medium, utm_campaign) — de standaardmanier om context door te geven. In mobiele apps zijn contextuele deep links cruciaal voor attributie: zonder hen weet de app-eigenaar niet welk kanaal de gebruiker heeft gebracht — organisch verkeer, Facebook-reclame, e-mailcampagne of QR-code. Kwaliteitsattributie vereist integratie met een MMP (Mobile Measurement Partner).

Deep Link TypeVereist installatieOndersteunt wachtenContext
StandardJaNeeAlleen in URL
DeferredNeeJaServeropslag
ContextualBeideBeideUTM + parameters

iOS ondersteunt deep link via twee mechanismen: de oude Custom URL Scheme en de moderne Universal Link (iOS 9+). Custom URL Scheme werkt op basis van registratie van een aangepast schema in Info.plist. De app registreert myapp://, en iOS opent bij het klikken op zo’n link de app. Probleem: als het schema door geen enkele app is geregistreerd, toont de browser een foutmelding.

Verwerking van deep link op iOS gebeurt via de methode AppDelegate application(_:open:options:) of SceneDelegate scene(_:openURLContexts:). De ontwikkelaar extraheert de URL, parseert het pad en de parameters, en navigeert vervolgens naar het juiste scherm. Bij gebruik van SwiftUI wordt de verwerking gedaan via OpenURLAction of onChange(of: openURL). Het is belangrijk om de status correct te verwerken: de app kan niet gestart, geminimaliseerd of actief zijn.

Security op iOS is streng: Custom URL Scheme kan worden onderschept door elke app die hetzelfde schema heeft geregistreerd. Dit is een potentieel beveiligingslek (URL Scheme hijacking). Daarom beveelt Apple Universal Link aan als een veiliger alternatief: alleen de bevestigde domeineigenaar kan links aan de app koppelen. Meer over Universal Link — in het artikel Universal Link.

Android implementeert deep link via Intent Filter in AndroidManifest.xml. De app definieert een Activity die een bepaald schema (myapp://) of specifieke hosts en paden verwerkt. Wanneer de gebruiker op een deep link klikt, zoekt Android naar een Activity met een passende Intent Filter en opent deze. Als er meerdere passende Activity’s zijn — toont het systeem een dialoog voor het selecteren van de app.

xml
// AndroidManifest.xml — Intent Filter voor Deep Link
<activity
    android:name=".ui.ProductActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:scheme="myapp"
            android:host="product"
            android:pathPrefix="/" />
    </intent-filter>
</activity>

Verwerking van deep link in Android gebeurt in de methode Activity.onCreate() of onNewIntent(). De ontwikkelaar ontvangt Intent, extraheert URI en roept navigatie aan. Voor Jetpack Navigation maakt de component Navigation Deep Link het mogelijk om deep link declaratief te beschrijven in de navigatiegraaf. Android App Link (Android 6.0+) — evolutie van deep link met verificatie via Digital Asset Links, waarbij de dialoog voor app-selectie wordt geëlimineerd.

Het is belangrijk om rekening te houden met Android 12+-wijzigingen: vanaf API 31 vereist het systeem expliciete opgave van exported=true voor Activity’s die deep link verwerken en controleert de correctheid van Intent Filter. Google Play Store controleert App Link-verificatie bij publicatie. Zonder verificatie kan Google de update afwijzen als deep links naar niet-bestaande pagina’s van de site leiden.

Configuratie van deep link omvat verschillende stappen die voor beide platforms gemeenschappelijk zijn. De eerste stap — het bepalen van het schema en de URL-structuur. Het wordt aanbevolen het https-schema te gebruiken (in plaats van een aangepast schema) voor compatibiliteit met Universal Link en App Link. De URL-structuur moet de structuur van de website weerspiegelen: /product/42, /profile/john, /settings/notifications. Dit vereenvoudigt het onderhoud en de indexatie van inhoud door zoekmachines.

Tweede stap — verwerking van deep link in de app-code. Voor Android wordt Jetpack Navigation met declaratieve deep links in nav_graph aanbevolen. Voor iOS — SwiftUI NavigationStack met OpenURLAction-verwerking. Het is belangrijk om drie app-statussen te verwerken: cold start (app niet gestart), warm start (geminimaliseerd) en active (op scherm). Elke status vereist een andere navigatielogica.

  • Bepaal het schema en de URL-structuur (myapp:// of https://your.domain/)
  • Registreer het schema in het manifest (Android) of Info.plist (iOS)
  • Implementeer verwerking in Activity of AppDelegate/SwiftUI
  • Configureer fallback voor het geval de app niet is geïnstalleerd
  • Test alle drie statussen: cold start, warm start, active

Testen van deep link — een aparte taak. Android Studio biedt de tool App Links Assistant voor het controleren van Intent Filter. Op iOS wordt getest via Xcode door de URL door te geven via startscherma-argumenten. Het wordt aanbevolen om een CI-check in te stellen: automatisch door deep link gaan en controleren of het verwachte scherm is geopend. Voor deferred deep link omvat het testen de volledige cyclus „installatie → eerste start → context”. Zonder testen gaan deep links vaak kapot bij het bijwerken van de navigatie in de app.

Veelgestelde vragen

Waarin verschilt deep link van een gewone link?

Gewone link (https://site.com/page) wordt geopend in een browser. Deep link (myapp://page of https://site.com/page met verificatie) opent een scherm in de mobiele app. Deep link kan ook context doorgeven: promotiecode, verkeersbron, referral-ID.

Wat is een URI-schema en waarvoor dient het?

URI-schema — is een URL-prefix dat bepaalt welke app de link moet verwerken (bijv. myapp://, vk://, tg://). Het systeem gebruikt het schema voor routering: het vindt de app die dit schema heeft geregistreerd en geeft de URL eraan door voor verwerking.

Hoe werkt deferred deep link?

Gebruiker klikt op link → service (Branch, AppsFlyer) onthoudt context → verwijst door naar App Store/Google Play → na installatie en eerste start geeft SDK de opgeslagen context door aan de app → app opent het gewenste scherm, alsof de gebruiker de app al had.

Kan deep link worden gebruikt zonder geïnstalleerde app?

Gewone deep link — nee. Deferred deep link — ja, via een tussenpagina die doorverwijst naar de app store en context opslaat. Universal Link en App Link openen de site als fallback als de app niet is geïnstalleerd.

Hoe test ik deep link op echte apparaten?

Op Android gebruik adb: adb shell am start -W -a android.intent.action.VIEW -d “myapp://product/42”. Op iOS — xcrun simctl openurl booted “myapp://product/42”. Voor beide platforms zijn testconsoles van Firebase Dynamic Links en Branch beschikbaar.

Samenvatting

  • Deep Link — URL die een specifiek app-scherm opent, niet de startpagina of website
  • Drie typen — Standard (alleen met geïnstalleerde app), Deferred (met wachten op installatie), Contextual (met UTM-parameters)
  • Custom URL Scheme (myapp://) — eenvoudige methode, maar zonder fallback bij afwezigheid van app
  • Universal Link en App Link — evolutie van deep link met domeinverificatie en browser-fallback
  • iOS verwerkt deep link via AppDelegate/SceneDelegate, Android — via Intent Filter
  • Deferred Deep Link vereist tussenliggende SDK (Branch, AppsFlyer) voor contextopslag vóór installatie
  • Testen van alle drie statussen (cold, warm, active) — verplichte fase van deep link-configuratie

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook