{"id":63165,"date":"2026-08-25T13:51:17","date_gmt":"2026-08-25T20:51:17","guid":{"rendered":"https:\/\/www.kochava.com\/?p=63165"},"modified":"2026-09-03T08:46:04","modified_gmt":"2026-09-03T15:46:04","slug":"dynamic-macros-scalable-dynamic-deep-linking","status":"publish","type":"post","link":"https:\/\/www.kochava.com\/ko\/blog\/dynamic-macros-scalable-dynamic-deep-linking\/","title":{"rendered":"How to Use Dynamic Macros for Scalable, Dynamic Deep Linking"},"content":{"rendered":"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; row_position_desktop=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\r\n<h2><strong>Dynamic macros enable one link to support thousands of destinations<\/strong><\/h2>\r\n[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\r\n\r\n<details open=\"open\"><summary><strong>TL;DR Summary <\/strong>(<em>click to expand<\/em>)<\/summary><span style=\"font-weight: 400\">Maintaining unique deep links for every product or piece of content in your app is operationally unsustainable at scale. Dynamic macro replacement solves this by using a single deep link template with placeholder macros (e.g., <span style=\"color: #61a60e\">{product_id}<\/span>). These macros dynamically resolve to specific destinations at the moment of the click, letting one tracking link serve infinite products or content items across any app vertical, significantly reducing operational overhead. By adopting such a streamlined approach, app marketers can effectively scale campaigns while minimizing manual link management.<\/span>\r\n\r\n<span style=\"font-weight: 400\">If you\u2019re managing a growing volume of deep links or planning to launch dynamic product ads and personalized content campaigns, dynamic macro replacement offers scalable, efficient link management. Contact <\/span><a href=\"mailto:support@kochava.com\"><span style=\"font-weight: 400\">support@kochava.com<\/span><\/a><span style=\"font-weight: 400\"> to explore and implement dynamic deep linking best practices.<\/span>\r\n\r\n<\/details>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787696552657{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">If you manage marketing for an app with more than a handful of products, content titles, or offers, you may find yourself considering a daunting question: <\/span><em><strong>Do I need a unique deep link for every single product or combination of content inside my app?<\/strong><\/em><b><i><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-63189 size-large\" src=\"https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-1024x712.png\" alt=\"\" width=\"1024\" height=\"712\" srcset=\"https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-1024x712.png 1024w, https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-300x209.png 300w, https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-768x534.png 768w, https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-1536x1068.png 1536w, https:\/\/www.kochava.com\/wp-content\/uploads\/2026\/08\/Scalable-Deep-Linking-IMG1@2x-8-2048x1424.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/i><\/b>\r\n\r\n<span style=\"font-weight: 400\">An ecommerce app with 10,000 SKUs. A streaming platform with tens of thousands of shows and movies. A music app with a collection too large to count. Picture this question multiplied across a catalog that size, and the idea of building and maintaining thousands of individual links quickly feels overwhelming.<\/span>\r\n\r\n<span style=\"font-weight: 400\">Thankfully, that isn\u2019t your only option, and you shouldn\u2019t simply have to accept it as operational reality. The key to solving exactly this kind of scale problem? <\/span><b>Dynamic macro replacement.<\/b>\r\n<h2><b>The Limitations of Static Deep Linking<\/b><\/h2>\r\n<span style=\"font-weight: 400\">Static deep linking works exactly as the name suggests:\u00a0<\/span>\r\n\r\n<b>one deep link = one fixed destination<\/b>\r\n\r\n<span style=\"font-weight: 400\">You build a link that sends users to a specific product page, specific episode, specific article. It works fine when you have only a small number of destinations to manage. It breaks down fast when you don\u2019t.<\/span>\r\n\r\n<span style=\"font-weight: 400\">Imagine a marketing team running dynamic product ads across a catalog of thousands of items. Under a static linking approach, this means building and maintaining a one-to-one relationship between every product and its own dedicated tracking link. Each new product added to the catalog means a new link. Every campaign refresh means auditing which links point where. The operational overhead compounds with the size of the catalog and, for teams operating at scale, becomes genuinely unmanageable.<\/span>\r\n<h2><b>The Solution: One Template, Infinite Destinations<\/b><\/h2>\r\n<span style=\"font-weight: 400\">Dynamic macro replacement flips the entire model. Instead of building a separate link for every destination, you build a single deep link template with a placeholder macro embedded in the structure. The macro gets replaced dynamically with the correct value at the moment a user clicks, sending them to the precise destination tied to the context of the ad they engaged with.<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][image_with_animation image_url=&#8221;63223&#8243; image_size=&#8221;full&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787697006466{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]Here&#8217;s how the flow works:\r\n<h3><b>1. Deep link destination template<\/b><\/h3>\r\n<span style=\"font-weight: 400\">You start with a deep link template that includes a macro placeholder instead of a fixed value:<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner equal_height=&#8221;yes&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787942545667{padding-top: 20px !important;padding-left: 20px !important;background-color: #454545 !important;border-radius: 15px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"color: #ffffff\">yourapp:\/\/product\/view\/<span style=\"color: #ffc523\">{product_id}<\/span><\/span>[\/vc_column_text][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787688741606{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">The <\/span><span style=\"font-weight: 400;color: #61a60e\">{product_id}<\/span><span style=\"font-weight: 400\"> in curly brackets is not a real value, but a placeholder waiting to be filled in.<\/span>\r\n<h3><b>2. Tracking link<\/b><\/h3>\r\n<span style=\"font-weight: 400\">Your tracking link (the URL that appears in your ad, email, or campaign) carries the same macro through its query string:<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner equal_height=&#8221;yes&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787942527789{padding-top: 20px !important;padding-left: 20px !important;background-color: #454545 !important;border-radius: 15px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"color: #ffffff\">trackinglink.com\/click\/?campaign_id=xyz_summer&amp;<span style=\"color: #ffc523\">product_id={product_id}<\/span><\/span>[\/vc_column_text][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787686797464{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">At this stage, nothing has been resolved yet. The macro still sits there as a placeholder inside the tracking link itself.<\/span>\r\n<h3><b>3. The real value gets passed at click time<\/b><\/h3>\r\n<span style=\"font-weight: 400\">When the ad actually serves, whether it\u2019s a dynamic product ad, a personalized content recommendation, or any other ad unit tied to a specific catalog item, the ad network or ad server serving the ad\u2014the same system through which the click\u2019s routing passes\u2014fills in the real value in place of the macro. For example:<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner equal_height=&#8221;yes&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787942514060{padding-top: 20px !important;padding-left: 20px !important;background-color: #454545 !important;border-radius: 15px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"color: #ffffff\">trackinglink.com\/click\/?campaign_id=xyz_summer&amp;<span style=\"color: #ffc523\">product_id=sku12967abc<\/span><\/span>[\/vc_column_text][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787682501373{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]\r\n<h3><b>4. Kochava resolves the destination<\/b><\/h3>\r\n<span style=\"font-weight: 400\">As Kochava processes the click, it dynamically appends the real value into the deep link destination associated with the tracker, replacing the macro with the actual product ID:<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner equal_height=&#8221;yes&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787943333629{padding-top: 20px !important;padding-left: 20px !important;background-color: #454545 !important;border-radius: 15px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"color: #ffffff\">yourapp:\/\/product\/view\/<\/span><span style=\"color: #ffc523\">sku12967abc<\/span>[\/vc_column_text][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787687367835{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">The user lands exactly where they should, on the specific product page tied to the ad they clicked, without your team ever having to build a link specifically for that SKU.<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/4&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/2&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/4&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;right&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/3&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; column_padding_type=&#8221;default&#8221; content_layout=&#8221;default&#8221; gradient_type=&#8221;default&#8221;][vc_column_text css=&#8221;.vc_custom_1787941910016{margin-top: 50px !important;}&#8221; text_direction=&#8221;default&#8221;]\r\n<h3><\/h3>\r\n<h4 style=\"text-align: left\"><b>Watch James Benoit, Sr. Director of Sales Engineering at Kochava, unpack dynamic macro replacement. <\/b><\/h4>\r\n[\/vc_column_text][vc_column_text css=&#8221;.vc_custom_1787697329962{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]\r\n<h4 style=\"text-align: left\"><b>Want to learn all about deep linking?<\/b><\/h4>\r\n<p style=\"text-align: left\"><span style=\"font-weight: 400\">Watch the full <\/span><a href=\"https:\/\/www.kochava.com\/webinars\/deep-linking-101-plugging-conversion-leaks\/\"><span style=\"font-weight: 400\">Deep Linking 101<\/span><\/a><span style=\"font-weight: 400\"> webinar.<\/span><\/p>\r\n[\/vc_column_text][\/vc_column_inner][vc_column_inner column_padding=&#8221;padding-1-percent&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;left-right&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;2\/3&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; column_padding_type=&#8221;default&#8221; content_layout=&#8221;default&#8221; gradient_type=&#8221;default&#8221;][vc_raw_html css=&#8221;&#8221;]JTNDc2NyaXB0JTIwc3JjJTNEJTIyaHR0cHMlM0ElMkYlMkZmYXN0Lndpc3RpYS5jb20lMkZwbGF5ZXIuanMlMjIlMjBhc3luYyUzRSUzQyUyRnNjcmlwdCUzRSUzQ3NjcmlwdCUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGZmFzdC53aXN0aWEuY29tJTJGZW1iZWQlMkZtd3E3Z2tjbXN6LmpzJTIyJTIwYXN5bmMlMjB0eXBlJTNEJTIybW9kdWxlJTIyJTNFJTNDJTJGc2NyaXB0JTNFJTNDc3R5bGUlM0V3aXN0aWEtcGxheWVyJTVCbWVkaWEtaWQlM0QlMjdtd3E3Z2tjbXN6JTI3JTVEJTNBbm90JTI4JTNBZGVmaW5lZCUyOSUyMCU3QiUyMGJhY2tncm91bmQlM0ElMjBjZW50ZXIlMjAlMkYlMjBjb250YWluJTIwbm8tcmVwZWF0JTIwdXJsJTI4JTI3aHR0cHMlM0ElMkYlMkZmYXN0Lndpc3RpYS5jb20lMkZlbWJlZCUyRm1lZGlhcyUyRm13cTdna2Ntc3olMkZzd2F0Y2glMjclMjklM0IlMjBkaXNwbGF5JTNBJTIwYmxvY2slM0IlMjBmaWx0ZXIlM0ElMjBibHVyJTI4NXB4JTI5JTNCJTIwcGFkZGluZy10b3AlM0E1Ni4yNSUyNSUzQiUyMCU3RCUzQyUyRnN0eWxlJTNFJTIwJTNDd2lzdGlhLXBsYXllciUyMG1lZGlhLWlkJTNEJTIybXdxN2drY21zeiUyMiUyMGFzcGVjdCUzRCUyMjEuNzc3Nzc3Nzc3Nzc3Nzc3NyUyMiUzRSUzQyUyRndpc3RpYS1wbGF5ZXIlM0U=[\/vc_raw_html][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787699208103{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]\r\n<h2><b>Dynamic Deep Linking Is Not Just for Ecommerce<\/b><\/h2>\r\n<span style=\"font-weight: 400\">While ecommerce product IDs are the easiest example to visualize, the same mechanism applies to any app with a large, dynamic set of destinations, whether hundreds of product pages, thousands of articles, or any other high-volume set of places a user could potentially land inside the app.<\/span>\r\n\r\n<span style=\"font-weight: 400\">A media and entertainment app can leverage this pattern with a <\/span><span style=\"font-weight: 400;color: #61a60e\">show_id<\/span><span style=\"font-weight: 400\"> or <\/span><span style=\"font-weight: 400;color: #61a60e\">episode_id<\/span><span style=\"font-weight: 400\"> macro. A news or publishing app can use an <\/span><span style=\"font-weight: 400;color: #61a60e\">article_id<\/span><span style=\"font-weight: 400\">. A music streaming platform can resolve to a specific <\/span><span style=\"font-weight: 400;color: #61a60e\">track_id<\/span><span style=\"font-weight: 400\"> or <\/span><span style=\"font-weight: 400;color: #61a60e\">album_id<\/span><span style=\"font-weight: 400\">. The structure of the macro changes to fit the content type, but the underlying mechanism, a single link resolving dynamically to any number of destinations, stays the same.<\/span>\r\n\r\n<span style=\"font-weight: 400\">And critically, a single link isn\u2019t limited to just one macro. Multiple macro parameters can be combined within the same deep link template. For example, an offer ID alongside a product ID, allowing a single tracking link to resolve based on a combination of variables. This supports even more sophisticated targeting and personalization without adding any additional operational complexity.<\/span>\r\n\r\n<span style=\"font-weight: 400\">Here\u2019s a quick look at how the same core pattern plays out across different app categories:<\/span>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/6&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;2\/3&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][image_with_animation image_url=&#8221;63195&#8243; image_size=&#8221;full&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221;][\/vc_column_inner][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/6&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;.vc_custom_1787682641986{margin-top: 25px !important;}&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">In every case, the pattern is identical: a deep link template, tracking link, and macro (or combination of macros) that resolve to the correct destination the moment a user clicks.<\/span>\r\n<h2><b>Getting Started With Dynamic Macro Replacement<\/b><\/h2>\r\n<span style=\"font-weight: 400\">Without dynamic macro replacement, scaling a campaign to cover a full product catalog or content library means scaling your link management workload right alongside it. With dynamic macro replacement, the workload stays flat regardless of catalog size.\u00a0<\/span>\r\n\r\n<span style=\"font-weight: 400\">If your team manages a large or growing number of individual deep links, or you\u2019re looking to launch dynamic product ads or personalized content campaigns and want your links to scale with you, dynamic macro replacement is worth exploring.<\/span>\r\n\r\n<span style=\"font-weight: 400\">To see how this approach can be configured directly within your Kochava account or to talk through how macro-based deep linking could apply to your specific app and catalog structure, reach out to your Client Success Manager or contact <\/span><a href=\"mailto:support@kochava.com\"><span style=\"font-weight: 400\">support@kochava.com<\/span><\/a><span style=\"font-weight: 400\">.\u00a0<\/span>\r\n\r\n<span style=\"font-weight: 400\">Not yet a Kochava customer, but interested in scaling your deep linking strategy? <\/span><a href=\"https:\/\/www.kochava.com\/company\/contact\/\"><b>Contact us<\/b><\/a><b>.<\/b>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; text_align=&#8221;left&#8221; row_position=&#8221;default&#8221; row_position_tablet=&#8221;inherit&#8221; row_position_phone=&#8221;inherit&#8221; overflow=&#8221;visible&#8221; pointer_events=&#8221;all&#8221;][vc_column_inner column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; flex_gap_desktop=&#8221;10px&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; overflow=&#8221;visible&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\r\n<h2>Dynamic Deep Linking FAQ<\/h2>\r\n[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][toggles style=&#8221;minimal&#8221;][toggle color=&#8221;Default&#8221; heading_tag=&#8221;h3&#8243; heading_tag_functionality=&#8221;default&#8221; title=&#8221;What is a macro in deep linking, and how does dynamic macro replacement work?&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">A macro in deep linking is a placeholder, such as <\/span><span style=\"font-weight: 400;color: #61a60e\">{product_id}<\/span><span style=\"font-weight: 400\"> or <\/span><span style=\"font-weight: 400;color: #61a60e\">{episode_id}<\/span><span style=\"font-weight: 400\">, embedded inside a deep link template in place of a fixed value. Dynamic macro replacement is the process of resolving the placeholder into the correct real value at the moment a user clicks, allowing a single deep link template to route to any number of destinations inside an app without requiring a separate link for each one.<\/span>[\/vc_column_text][\/toggle][toggle color=&#8221;Default&#8221; heading_tag=&#8221;default&#8221; heading_tag_functionality=&#8221;default&#8221; title=&#8221;How do you create a deep link for a large product catalog without building thousands of individual links?&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">Instead of building a unique deep link for every SKU, episode, or piece of content, you build one deep link template containing a macro placeholder. This single template, paired with a tracking link carrying the same macro, can dynamically resolve to any destination in your catalog, whether it holds 50 items or 50,000, so link volume no longer scales with catalog size.<\/span>[\/vc_column_text][\/toggle][toggle color=&#8221;Default&#8221; heading_tag=&#8221;default&#8221; heading_tag_functionality=&#8221;default&#8221; title=&#8221;Where does the macro get replaced with the real value in a tracking link?&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">The macro is filled in with its real value at click time by the ad network or ad server serving the ad, the same system through which the click&#8217;s routing passes. The real value is then passed along in the tracking link before Kochava processes the click and resolves it into the final deep link destination.<\/span>[\/vc_column_text][\/toggle][toggle color=&#8221;Default&#8221; heading_tag=&#8221;default&#8221; heading_tag_functionality=&#8221;default&#8221; title=&#8221;Is dynamic macro replacement useful only for ecommerce apps?&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]<span style=\"font-weight: 400\">No. While ecommerce product IDs are the easiest example to visualize, the same macro-based approach applies to any app with a large or frequently changing set of destinations, including media and entertainment apps (<\/span><span style=\"font-weight: 400;color: #61a60e\">show_id<\/span><span style=\"font-weight: 400\">, <\/span><span style=\"font-weight: 400;color: #61a60e\">episode_id<\/span><span style=\"font-weight: 400\">), music streaming platforms (<\/span><span style=\"font-weight: 400;color: #61a60e\">track_id<\/span><span style=\"font-weight: 400\">, <\/span><span style=\"font-weight: 400;color: #61a60e\">album_id<\/span><span style=\"font-weight: 400\">), podcast and audio apps, and QSR or restaurant apps managing multiple simultaneous offers.<\/span>[\/vc_column_text][\/toggle][\/toggles][\/vc_column][\/vc_row]","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221;&#8230;<\/p>\n","protected":false},"author":42,"featured_media":63197,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[210,134],"tags":[],"class_list":["post-63165","post","type-post","status-publish","format-standard","has-post-thumbnail","category-deep-linking","category-links-and-deep-linking"],"_links":{"self":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/63165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/comments?post=63165"}],"version-history":[{"count":6,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/63165\/revisions"}],"predecessor-version":[{"id":63273,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/63165\/revisions\/63273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/media\/63197"}],"wp:attachment":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/media?parent=63165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/categories?post=63165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/tags?post=63165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}