For engineering teams, the traditional mobile growth stack—MMP for attribution, separate SDK for Analytics—creates a "Data Latency" problem. Connecting top-of-funnel ad impressions to deep-funnel behaviors usually requires complex ETL pipelines and delayed postbacks. This guide explains the architectural advantage of SolarEngine, which functions as both the attribution provider(MMP) and the analytics tool, allowing for real-time, loss-less data lineage from impression to LTV.
I. The Engineering Problem: The "Postback Gap"
In a fragmented stack (e.g., MMP A + Analytics Tool B), tracing a user's journey is technically inefficient:
-
Ad Impression: Occurs on the Ad Network.
-
Attribution: Captured by MMP.
-
Data Transfer: MMP sends a server-to-server (S2S) postback to analytics tool.
-
Data Loss: During step 3, granular parameters are often dropped, aggregated, or delayed by 24 hours.
The result: Engineers spend hours debugging - why the data in the MMP doesn't match the data in the BI system.
II. The Solution: Unification (MMP + Analytics)
SolarEngine eliminates the "Postback Gap" because it handles both roles natively. The Attribution_ID and the User_ID exist in the same database table from the very first millisecond of the app launch.
Step 1: Configuring Granular Tracking Links
To capture Ad Impressions and clicks accurately, your tracking URLs must be structured to pass metadata directly to SolarEngine’s attribution servers.
Best Practice Structure: Instead of generic campaign tags, use dynamic macros to capture asset-level data.
-
Standard Link:
https://t.solar-engine.com/trace?app_id=12345&campaign_id={campaign_id} -
Granular Link (Recommended):
https://t.solar-engine.com/trace?app_id=12345&campaign_id={campaign_id}&ad_id={ad_id}&creative_id={creative_id}&sub_site_id={site_id}
(Note: The {macros} will automatically be replaced by the ad network, e.g., TikTok or Meta, upon serving.)
Step 2: SDK Initialization & Deep Linking
When the user installs the app, the SolarEngine SDK initializes. Unlike legacy analytics tools that wait for a callback from a 3rd party MMP, SolarEngine is the authority.
-
Code Logic:
-
App Launch.
-
SolarEngine SDK pings SE Server.
-
SE Server matches Device Fingerprint/IDFA to the Ad Click.
-
Instant Result: The device is instantly flagged with
source: TikTokandcreative_id: video_005.
-
No waiting for postbacks. The very first tutorial_complete event is already stamped with the correct attribution data.
III. Handling "View-Through" Attribution (VTA)
Tracking Ad Impressions that don't result in a click (View-Through) is critical for video networks.
SolarEngine supports VTA natively. By enabling Impression Tracking, you can measure the "Assist Value" of your creatives.
-
Mechanism: When an ad is viewed, the network fires an impression pixel to SolarEngine.
-
Attribution: If the user installs within the defined window (e.g., 24 hours) without clicking, SolarEngine credits the install to that impression.
-
Engineering Benefit: This data is available in the same query interface as your click-based data. No separate APIs required.
IV. From Data to Query: The Unified Schema
Because SolarEngine creates the data at the source, your data team can run direct SQL-like queries on the entire marketing funnel without joining tables from different vendors.
Example Analysis Scenario:
-
Goal: Find the LTV of users who saw "Video A" but installed via "Banner B" (Multi-Touch).
-
Legacy Stack: Impossible or requires complex data warehousing.
-
SolarEngine: Supported out-of-the-box via the attribution logs.
V. Migration Guideline
To migrate to SolarEngine’s unified architecture, please check the migration guideline.
The most efficient data pipeline is the one that doesn't need to move data around. By using SolarEngine as your primary Attribution and Analytics system, you remove the friction between "Ad Impressions" and "In-App Conversion," giving your engineering team a cleaner stack and your growth team faster insights.
