Auf dieser Seite: Erfahren Sie, wie Sie Deeplinks in E-Mail- und SMS-Inhalten erstellen, in Adobe Journey Optimizer konfigurieren und die getrackten Links in Ihren iOS- und Android-Apps verarbeiten können, damit die Empfängerinnen und Empfänger auf dem richtigen In-App-Bildschirm landen.
Deeplinks helfen Ihnen, Empfängerinnen und Empfänger von einer E-Mail oder SMS-Nachricht zu einem bestimmten Bildschirm oder Inhalt in Ihrer App zu führen. Dadurch können Benutzende direkt zum gewünschten In-App-Erlebnis gelangen, ohne dass sie über einen Webbrowser oder einen App Store weitergeleitet werden, sodass die Journey relevant und markenkonform bleibt.
Wenn Ihre Empfängerinnen und Empfänger auf den Deeplink klicken, werden sie direkt zum gewünschten In-App-Inhalt weitergeleitet – vorausgesetzt, Sie haben Folgendes abgeschlossen:
-
die Konfigurationsschritte in Journey Optimizer;
-
die App-Implementierung für iOS und Android in Ihrer App.
/ee/v1/mclick/*), um Kompatibilität und Klick-Tracking sicherzustellen.Erstellen von Deeplinks authoring
E-Mail authoring-email
Für E-Mail-Nachrichten haben Sie zwei Möglichkeiten, einen Deeplink einzufügen:
-
E-Mail-Designer: Stellen Sie sicher, dass das Linktracking aktiviert ist. Wählen Sie das Element aus, das Sie verknüpfen möchten (Text, Schaltfläche oder Bild), klicken Sie auf Link einfügen in der kontextuellen Symbolleiste und wählen Sie Deeplink aus, um Ihre Deeplink-URL einzugeben. Weitere Informationen zum Einfügen von Links
-
Personalisierungseditor (Code): Fügen Sie den Deeplink mithilfe des folgenden Ausschnitts direkt in HTML ein:
code language-html <a class="arc-link" data-nl-type="DEEPLINK" href="<<deeplink_url>>" id="acr-link-7821368" style="text-decoration:underline;" target="_blank" data-tracking-type="DEEPLINK">Click Here</a>note tip TIP Ersetzen Sie <<deeplink_url>>durch Ihre tatsächliche Deeplink-URL und verwenden Sie zur Vermeidung von Konflikten für jeden Block eine eindeutigeid.
SMS authoring-sms
Für SMS werden Deeplinks mit der URL-Helper-Funktion im Personalisierungseditor erstellt. Informationen zum Hinzufügen von Links zu SMS-Inhalten finden Sie in diesem Abschnitt.
Verwenden Sie die folgende Syntax, um Deeplinks in SMS-Inhalte einzufügen:
{{url originalUrl='<<url>>' type='DEEPLINK' action='CLICK'}}
<<url>> durch Ihre tatsächliche Deeplink-URL.Konfiguration in Journey Optimizer configuration
Um Deeplinks in E-Mails und SMS für Ihre Apps verwenden zu können, führen Sie die folgenden Konfigurationsschritte aus.
-
Delegieren Sie in Journey Optimizer die Subdomain, für die Deeplinking aktiviert ist. Weitere Informationen
-
Hosten Sie die AASA-Datei für iOS und die assetLinks.json-Datei für Android in Ihrer Subdomain. Wenden Sie sich mit den folgenden Informationen an die ](https://helpx.adobe.com/de/enterprise/admin-guide.html/enterprise/using/support-for-experience-cloud.ug.html){target=“_blank”}Adobe-Kundenunterstützung[ oder Ihren Adobe-Support-Kontakt:
-
Für iOS (AASA):
- Delegierte Subdomain
- App-Paket-ID
-
Für Android (assetLinks.json):
- Delegierte Subdomain
- App-Paket-ID
- SHA-256-Zertifikat-Fingerabdruck
-
/ee/v1/mclick/*, die von Adobe gehostet und aufgelöst werden.App-Implementierung mobile-implementation
In diesem Abschnitt wird erläutert, wie Sie mobile Deeplinks mit Adobe Journey Optimizer implementieren, sodass in einem typischen HTTPS-Setup (universelle Links und App-Links) eine einzelne URL Folgendes kann:
- einen bestimmten Bildschirm in der App öffnen, wenn die App installiert ist, oder
- Ihre Website als Fallback öffnen, wenn die App nicht installiert ist.
Wenn das Linktracking für Ihre Nachricht aktiviert ist, trackt Journey Optimizer diese Klicks weiterhin, bezieht sie in das Reporting ein und kann sie in Inhaltsexperimenten verwenden, wenn Sie sie für die Nachricht ausführen.
In diesem Abschnitt finden Sie allgemeine Implementierungsmuster für Deeplinks. Das genaue Setup hängt von Ihrer App-Architektur und dem Routing-Framework ab.
iOS (Universelle Links) ios-implementation
-
Wählen Sie in Xcode Ihr Ziel über Signing & Capabilities > + Capability > Associated Domains aus.
-
Fügen Sie Einträge für Ihre delegierten Subdomains hinzu, z. B.:
code language-text applinks:www.mybusiness.com applinks:data.email.mybusiness.com -
Verarbeiten Sie universelle Links in der App und rufen Sie den ursprünglichen Link aus dem Antwort-Header ab.
accordion Beispiel: iOS 13+ mit Szenen code language-swift class SceneDelegate: UIResponder, UIWindowSceneDelegate { func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, let incomingURL = userActivity.webpageURL else { return } handleUniversalLink(url: incomingURL) } private func handleUniversalLink(url: URL) { // Only handle AJO tracked mobile clicks guard url.host == "data.email.mybusiness.com", url.path.hasPrefix("/ee/v1/mclick") else { // Could also handle direct www.mybusiness.com links here return } resolveTrackedUrlAndRoute(url) } private func resolveTrackedUrlAndRoute(_ trackedUrl: URL) { var request = URLRequest(url: trackedUrl) request.httpMethod = "GET" URLSession.shared.dataTask(with: request) { _, response, error in guard error == nil, let httpResponse = response as? HTTPURLResponse, let locationValue = httpResponse.allHeaderFields["Location"] as? String, let finalUrl = URL(string: locationValue) else { return } DispatchQueue.main.async { self.routeToDestination(finalUrl) } }.resume() } private func routeToDestination(_ url: URL) { // Example: map URL paths to screens // https://www.mybusiness.com/dashboard/offers/coupons // → OffersViewController for Coupons } }
mclick-URL durchführen und den Location-Header lesen und dann basierend auf der endgültigen-URL weiterleiten.mclick-URL in Safari. Das widerspricht dem Zweck des Deeplinkings.Android (App-Links) android-implementation
-
Fügen Sie den Intent-Filter für App-Links in Ihrer Android-App hinzu.
code language-xml <activity android:name=".DeepLinkActivity" android:exported="true"> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="data.email.mybusiness.com" android:pathPrefix="/ee/v1/mclick" /> </intent-filter> </activity> -
Implementieren Sie den Deeplink-Handler.
accordion In Kotlin: code language-kotlin class DeepLinkActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val trackedUri = intent?.data if (trackedUri == null || trackedUri.host != "data.email.mybusiness.com" || !trackedUri.path.orEmpty().startsWith("/ee/v1/mclick")) { finish() return } resolveTrackedUrlAndRoute(trackedUri) } private fun resolveTrackedUrlAndRoute(trackedUri: Uri) { lifecycleScope.launch(Dispatchers.IO) { try { val finalUrl = followRedirect(trackedUri.toString()) withContext(Dispatchers.Main) { routeToDestination(finalUrl) finish() } } catch (e: Exception) { // Optionally log error, fallback to browser finish() } } } private fun followRedirect(trackedUrl: String): Uri { val client = OkHttpClient.Builder() .followRedirects(false) // We want to read Location ourselves .build() val request = Request.Builder() .url(trackedUrl) .get() .build() client.newCall(request).execute().use { response -> val location = response.header("Location") ?: throw IllegalStateException("Missing Location header") return Uri.parse(location) } } private fun routeToDestination(finalUri: Uri) { // Example: interpret https://www.mybusiness.com/dashboard/offers/coupons // and open the correct Activity / Fragment } }
mclick-URL aufrufen und den Location-Header verwenden, um das endgültige Ziel zu bestimmen.followRedirects(false), damit Sie die Umleitungshandhabung steuern und Analysen bei Bedarf genau protokollieren können.Empfohlene Verfahren deeplink-best-practices
- Stabile Pfade verwenden: Routen bevorzugen, die gegenüber Änderungen der App-Benutzeroberfläche robust sind (z. B.
/account/ordersstatt/tab/3/view/2). - Getrackte Pfade berücksichtigen: Wenn das Linktracking aktiviert ist, kann der angeklickte Link getrackte Pfadmuster verwenden (z. B.
/ee/v1/mclick/). Stellen Sie sicher, dass Ihr Router die endgültige URL analysieren kann, nachdem der getrackte Link aufgelöst wurde. - Parameter vorhersehbar halten: Definieren Sie ein konsistentes Parameterschema (z. B.
?orderId=12345). - Vertrauliche Daten in URLs vermeiden: Fügen Sie keine Geheimnisse oder personenbezogenen Daten direkt in die Deeplink-URL ein.
- Deeplink testen: Führen Sie einen Testversand durch und klicken Sie auf den Deeplink auf einem Gerät, auf dem die App installiert ist.
- Auf echten Geräten validieren: Universelle Links und das Verhalten bei der Auflösung getrackter Links sind bei der Validierung auf physischen Geräten zuverlässiger als auf Simulatoren.
- App-seitiges Routing validieren: Wenn der Deeplink nicht den erwarteten Bildschirm öffnet, validieren Sie das App-seitige Routing und das URL-Format (Host/Pfad/Abfrage und URL-Codierung).
- Die App-Initialisierung beachten: Das Verhalten von App-Links/universellen Links ist am zuverlässigsten, nachdem die App mindestens einmal installiert und geöffnet wurde.
Fehlerbehebung und häufig gestellte Fragen troubleshooting-faq
- Stellen Sie sicher, dass die URL den Host- und Pfadmustern entspricht, für die Ihre App registriert ist, einschließlich getrackter Klickpfade, wenn das Linktracking aktiviert ist (z. B. Pfade unter
/ee/v1/mclick/). - Bestätigen Sie bei universellen Links von iOS und Links zur Android-App, dass die Domain-Zuordnung (AASA/
assetlinks.json) korrekt konfiguriert und erreichbar ist. - Testen auf einem realen Gerät (Simulatoren/Emulatoren können sich für die Link-Zuordnung anders verhalten).
- Bestätigen Sie, dass der App-seitige Router den URL-Pfad/die Abfrage korrekt analysiert.
- URL-Codierung überprüfen: reservierte Zeichen sollten URL-codiert sein.
- Überprüfen Sie, ob Parameternamen und -werte mit den Erwartungen des Routers übereinstimmen.
- Wenn dieselbe HTTPS-URL von Ihrer Website bereitgestellt werden kann, kann der Link eine Web-Seite als Fallback öffnen, wenn die App nicht installiert ist (konfigurieren Sie Ihr Web-Ziel und das Routing entsprechend).
-
Erstellen Sie einen Testversand mit einem Deeplink und klicken Sie auf iOS- und Android-Geräten darauf (installierte und nicht installierte Szenarien).
-
Validieren:
- Der endgültige Wert des E-Mail- oder SMS-Links (Host/Pfad/Abfrage)
- Die Verknüpfung auf Betriebssystemebene (bei Verwendung von universellen Links/App-Links)
- Das In-App-Routing-Ergebnis
assetlinks.json-Konfiguration für jede Subdomain an, die die Funktion unterstützen soll.appname://path)?appname://path), der empfohlene Ansatz ist jedoch ein universeller Link oder ein App-Link (https://), der dem HTTPS-basierten Setup in den Konfigurationsabschnitten und den Implementierungsabschnitten auf dieser Seite entspricht.Location-Header zurückgegeben wird, wenn Ihre App einen GET-Vorgang für die mclick-URL durchführt, sodass Sie sie für In-App-Analysen verwenden können./ee/v1/click/-URLs?mclick-Fluss gehandhabt.This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how to author deep links in email and SMS content, configure them in Journey Optimizer, and handle the tracked links in iOS and Android apps so recipients land on the right in-app screen.
Intents:
- Author a deep link in email (Email Designer or Personalization editor code) and in SMS (Url helper function)
- Complete the Journey Optimizer configuration for universal links (iOS) and app links (Android)
- Implement mobile app handling of tracked
mclicklinks in iOS and Android - Follow recommended practices and troubleshoot deep links that do not open the app or the expected screen
- Test deep links end-to-end by sending a proof and clicking on real devices
Glossary:
- Deep link: A link that takes recipients from an email or SMS message directly to a specific screen or content in a mobile app (product-specific)
- Universal links (iOS) / App links (Android): HTTPS-based deep links the configuration on this page applies to (product-specific)
- AASA / assetLinks.json: The association files hosted on your delegated subdomain for iOS (AASA) and Android (assetLinks.json) (product-specific)
/ee/v1/mclick/*: Tracked URLs that Adobe hosts and resolves for deep link clicks when link tracking is enabled (product-specific)
Guardrails:
- Deep links will not work unless you complete both the configuration and the mobile app implementation steps on this page.
- Deep linking is supported for both iOS and Android using tracked URLs (
/ee/v1/mclick/*) for compatibility and click tracking. - The configuration section applies when you use universal links (iOS) and app links (Android), which are HTTPS-based deep links.
- Tracked deep link clicks use URLs under
/ee/v1/mclick/*, which Adobe hosts and resolves, and apply when link tracking is enabled for the message. - For non-tracked links, the URL is not rewritten through Adobe systems; you must configure universal links or app links on your own domains and hosting.
- The app must perform a GET on the
mclickURL and read theLocationheader, then route based on the final URL; do not simply open themclickURL in a browser. - Hosting the AASA (iOS) and assetLinks.json (Android) files requires contacting Adobe Customer Care with the delegated subdomain and app bundle ID; Android also requires the SHA-256 certificate fingerprint.
Terminology:
- Canonical name: Deep link — Acronym: n/a — variants: deeplink, Deeplink (Insert link option)
- Synonyms: “universal links” (iOS) and “app links” (Android) = the HTTPS-based deep link setup
- Do not confuse: “
/ee/v1/mclick/*” (tracked deep link flow handled as an app deep link) ≠ “/ee/v1/click/” (opens in the device’s default web browser, standard click tracking) - Do not confuse: “tracked links” (rewritten through Adobe, use
mclick) ≠ “non-tracked links” (not rewritten; configured on your own domains)
FAQ:
- Q: What must be done before deep links work? — Complete both the configuration steps in Journey Optimizer and the mobile app implementation steps for iOS and Android.
- Q: How should the app handle the tracked link? — Perform a GET on the
mclickURL, read theLocationheader, and route based on the final URL; do not open themclickURL directly in a browser. - Q: What happens if the app is not installed? — If the same HTTPS URL can be served by your website, the link can open a web page as a fallback.
- Q: Are UTM parameters available in the app? — Yes; UTM parameters configured in Journey Optimizer are included in the final URL returned in the
Locationheader. - Q: How do I test end-to-end? — Send a proof (create a proof with a deep link) and click it on iOS and Android devices, for both installed and not-installed scenarios, validating on real devices.
- Q: Should I use a custom URL scheme like
appname://path? — You can, but the recommended approach is a universal link or app link (https://) matching the HTTPS-based setup on this page.