Skip to content
Tolinku
Tolinku
Sign In Start Free
Marketing · · 5 min read

App Indexing Analytics: Measuring Search Visibility

By Tolinku Staff
|
Tolinku qr codes short links dashboard screenshot for marketing blog posts

Setting up app indexing is a significant investment. You configure verification files, add structured data, implement deep link handling, and annotate your web pages. But without analytics, you cannot tell if it is working or where to improve.

App indexing analytics span two systems: Google Search Console (which shows how your app appears in search) and your in-app analytics (which shows what happens after users arrive). This guide covers how to measure both. For the app indexing setup, see app indexing and SEO for mobile apps. For deep link analytics, see deep link analytics.

Search Console: App Search Performance

Accessing App Data

In Google Search Console, navigate to Performance > Search Results. By default, this shows web clicks and impressions. To see app-specific data:

  1. Click "Search Appearance" in the filters.
  2. Select app-related appearances (if available for your property).
  3. Compare app vs. web metrics.

Note: Google merged app and web data in the Performance report. You may not see a separate "App" filter. Instead, look at pages that have app link annotations and track their performance over time.

Key Metrics

Metric What It Tells You Target
Impressions How often your app-linked pages appear in search Trending upward
Clicks How often users click your app-linked results Higher CTR than non-app pages
CTR Click-through rate for app-linked results 3-8% (varies by industry)
Average position Where your app-linked pages rank Top 10 for target keywords

Filtering by App-Linked Pages

Create a comparison between pages with and without app indexing:

  1. In the Performance report, click "New" > "Page."
  2. Enter URLs that have app link annotations (e.g., /products/).
  3. Compare their performance with pages that do not have app links.

If app-linked pages have higher CTR than similar non-app pages, the app result format is driving more clicks.

URL Inspection for Individual Pages

Use the URL Inspection tool to verify app indexing status per page:

  1. Enter a specific URL.
  2. Check the "Enhancements" section for:
    • App link annotations detected.
    • Structured data (SoftwareApplication, ViewAction) parsed correctly.
    • Any errors or warnings.

    What to Look For

    Positive signals:

    • "Alternate: android-app" detected in the page.
    • Structured data with potentialAction parsed without errors.
    • Page is indexed and serving in search.

    Warning signs:

    • "App link not verified": Your assetlinks.json or AASA file has issues.
    • "Structured data errors": Missing required fields or invalid values.
    • "Page is not indexed": Google has not crawled the page (submit for indexing).

    Enhancement Reports

    Search Console has Enhancement reports for specific structured data types. If you use SoftwareApplication or other schema types, check:

    1. Navigate to Enhancements in the left sidebar.
    2. Find your structured data type.
    3. Review:
      • Valid items: Pages with correctly parsed structured data.
      • Items with warnings: Minor issues that do not block rich results.
      • Items with errors: Critical issues preventing rich results.

      Track these numbers over time. A sudden drop in valid items indicates a deployment broke your structured data.

      In-App Analytics: Post-Click Behavior

      Search Console tells you about the search side. Your in-app analytics tell you about the app side.

      Tracking Search-Originated Sessions

      When a user opens your app from a search result (via a deep link), track the source:

      // Android: detect if the app was opened from a search result
      class DeepLinkActivity : AppCompatActivity() {
          override fun onCreate(savedInstanceState: Bundle?) {
              super.onCreate(savedInstanceState)
      
              val uri = intent.data
              val referrer = getReferrer()
      
              // Track the source
              analytics.trackEvent("deep_link_open", mapOf(
                  "url" to (uri?.toString() ?: "none"),
                  "referrer" to (referrer?.toString() ?: "none"),
                  "source" to classifySource(referrer)
              ))
          }
      
          private fun classifySource(referrer: Uri?): String {
              return when {
                  referrer?.host?.contains("google") == true -> "google_search"
                  referrer?.host?.contains("bing") == true -> "bing_search"
                  referrer == null -> "direct"
                  else -> "other"
              }
          }
      }
      

      Key In-App Metrics

      Metric What It Tells You
      Deep links from search Volume of search-to-app traffic
      Content match rate Percentage of deep links that resolve to the correct content
      Session duration from search How long users stay after arriving from search
      Conversion rate from search Purchases, sign-ups from search-originated sessions
      Bounce rate from search Users who open the app and immediately leave

      Building a Dashboard

      Combine Search Console and in-app data for a complete picture:

      Weekly Report

      App Indexing Performance (Week of June 16, 2026)
      
      Search Visibility:
        Pages with app indexing: 2,450 / 3,000 (82%)
        Search impressions: 45,000 (+8% WoW)
        Search clicks: 2,100 (+12% WoW)
        Average CTR: 4.7% (vs. 3.2% for non-app pages)
      
      App Opens from Search:
        Deep links from Google: 1,850
        Content match rate: 94%
        Average session duration: 4:30 (vs. 2:15 from other sources)
      
      Conversions:
        Purchases from search traffic: 185
        Revenue from search traffic: $12,400
        Search conversion rate: 8.8% (vs. 5.2% average)
      

      Automated Data Collection

      Use the Search Console API to pull data programmatically:

      // Pull Search Console data via API
      async function getSearchPerformance(siteUrl, startDate, endDate) {
        const response = await searchConsole.searchanalytics.query({
          siteUrl,
          requestBody: {
            startDate,
            endDate,
            dimensions: ['page', 'query'],
            dimensionFilterGroups: [{
              filters: [{
                dimension: 'page',
                operator: 'contains',
                expression: '/products/'
              }]
            }],
            rowLimit: 1000
          }
        });
      
        return response.data.rows;
      }
      

      Diagnosing Issues

      Low Impressions

      Your app-linked pages are not appearing in search:

      1. Check indexing: Are the pages in Google's index? (URL Inspection tool)
      2. Check verification: Are assetlinks.json and AASA files valid? (See verification guide)
      3. Check markup: Are alternate link tags and structured data present? (Rich Results Test)
      4. Check content: Are the pages thin or duplicate? (Review content quality)

      Low CTR

      Pages appear in search but users do not click:

      1. Check title and description: Are they compelling? Do they include relevant keywords?
      2. Check rich results: Is your structured data generating enhanced search results?
      3. Check position: Are you ranking on page 2 or lower? (Most clicks go to top 5 results)

      Users click from search, open the app, and immediately leave:

      1. Content mismatch: The search result promises one thing, the app shows another.
      2. Deep link failure: The deep link opens the app to the wrong screen.
      3. Slow loading: The content takes too long to load in the app.

      Tolinku Analytics Integration

      Tolinku's analytics tracks deep link clicks, including those originating from search results. View click data, referrer sources, and conversion metrics in the Tolinku dashboard to complement your Search Console data.

      For deep link analytics, see deep link analytics. For the app indexing setup, see app indexing and SEO for mobile apps.

Get deep linking tips in your inbox

One email per week. No spam.

Ready to add deep linking to your app?

Set up Universal Links, App Links, deferred deep linking, and analytics in minutes. Free to start.