Home Traffic & Attribution

Traffic & Attribution

Goran Culibrk
By Goran Culibrk
2 articles

Traffic Hub

Traffic Hub The Traffic hub is where all data about how merchants discover and install your app comes together. It draws on two sources: your BigQuery/GA4 export (sessions, events, attribution) and your uploaded Shopify Ad Performance reports (spend, impressions, clicks). Use the tab bar at the top to move between views. Prerequisite: Connect BigQuery All Traffic hub tabs require an active BigQuery connection. Session counts, channel attribution, conversion funnels, and keyword traffic come from your GA4 BigQuery export. See Connect BigQuery or Connect BigQuery via Service Account if you haven't set this up yet. App Store Ads data additionally requires uploading your Shopify Ad Performance CSV. See App Store Ads. How the Traffic hub is structured | Tab | What it shows | | --- | --- | | Traffic Sources | Sessions and installs by channel with a conversion funnel | | Attribution | Multi-model attribution across five models | | Campaigns | UTM campaign performance | | GA4 Analytics | Raw GA4 event data and user metrics | | App Store Ads | Ad spend, keyword ROI, cannibalization analysis | Traffic Sources The Traffic Sources tab (the hub landing) shows where your sessions and installs come from, broken down by traffic channel. Traffic channels Ranksy maps GA4 traffic_source_type values to named channels: | Channel | Meaning | | --- | --- | | App Store (organic) | Organic search within the Shopify App Store | | App Store Ads | Paid sponsored placement in the App Store (search_ad surface) | | Category Ads | Sponsored placement in App Store categories | | Direct | Direct URL visits with no referrer | | Organic Search | Google/Bing search referrals | | Organic Social | Social media referrals | | Paid Search | Paid search ads (Google Ads etc.) | | Paid Social | Paid social media ads | | Email | Email campaign referrals | | Referral | Referrals from other websites | Conversion funnel The funnel shows the stages from first visit to install for the selected date range: 1. Pageviews — unique sessions that viewed your app listing 2. Add App Clicks — sessions that clicked the "Add app" button 3. Installs — sessions that completed installation Funnel conversion rates show the step-by-step drop-off percentages. Date range and comparison Use the date picker to select your analysis period. Enable Compare to overlay the equivalent prior period on charts and the channel table. Attribution The Attribution tab applies five attribution models to your install data and shows how credit is distributed across channels depending on which model you choose. Attribution models | Model | How credit is assigned | | --- | --- | | First Touch | 100% credit to the first channel in the conversion path | | Last Touch | 100% credit to the final channel before install | | Linear | Equal credit split across all touchpoints | | Time Decay | More credit to touchpoints closer to conversion | | Position Based | 40% first touch, 40% last touch, 20% split among middle touchpoints | What the Attribution tab shows - Channel attribution — installs credited to each channel under the selected model, with share percentage - Keyword attribution — installs attributed to specific keywords - Conversion paths — the most common multi-step paths users take before installing (up to 500 user paths are sampled) - Model comparison — side-by-side view of all five models for the same period, so you can see where the models agree or disagree - Performance metrics — overall funnel metrics for the attribution window Install reconciliation BigQuery event counts are reconciled to your Partner API install count (the ground truth). If BigQuery and Partner API totals differ, Ranksy distributes the difference across channels proportionally using the largest-remainder method so the total always matches your actual install count. Campaigns The Campaigns tab breaks down traffic by UTM campaign parameters. It shows sessions, installs, and conversion rate per campaign, medium, and source combination. This is useful for tracking paid marketing (Google Ads campaigns, newsletter links, social posts) that drive traffic to your App Store listing with UTM-tagged URLs. GA4 Analytics The GA4 Analytics tab gives you a direct view of your GA4 event data without writing SQL. It shows: - Event counts by event name for the period - Users, sessions, and engagement metrics - Geographic breakdown of sessions - Device category breakdown Data is sourced directly from your BigQuery GA4 export. App Store Ads The App Store Ads tab is covered in detail in its own guide: App Store Ads. In brief, it lets you upload your Shopify Ad Performance CSV reports and compares your paid keyword performance against your organic rankings, classifying keywords as cannibalized, essential, additive, or irrelevant. Data freshness Traffic data is ingested from BigQuery daily. GA4 exports to BigQuery with a typical lag of 24–48 hours, so Traffic hub data is generally 1–2 days behind real time. Intra-day data is not available. FAQ Q: Traffic Sources shows no data — what's wrong? A: Confirm your BigQuery integration is connected and the historical import has completed. Check Settings → Integrations for the import status. BigQuery data takes 1–4 hours on the first import. Q: Why do my session counts differ from what I see in GA4? A: Ranksy reads from your BigQuery export, which processes GA4 data daily. Very recent sessions (last 24–48 hours) may not yet appear. Minor differences in session definitions between the GA4 UI and BigQuery exports are also normal. Q: The Attribution tab shows "Organic Search" as my top channel but I know most traffic is from the App Store. A: Check your GA4 setup. App Store organic traffic should appear as OrganicShopping / "App Store (organic)". If your GA4 is not correctly receiving Shopify App Store traffic data, the source may be miscategorised. See your BigQuery dataset and verify traffic_source_type values. Q: Can I see attribution across more than 500 user paths? A: The conversion paths section samples up to 500 users to keep the analysis fast. Channel-level attribution (the main table) uses all users without sampling. Next steps - App Store Ads — ad spend, True ROAS, cannibalization analysis, and bid recommendations - Connect BigQuery — connect your GA4 export if you haven't already - ASO → Keywords — organic keyword ranking alongside traffic data

Last updated on Jun 14, 2026

App Store Ads

App Store Ads The App Store Ads tab sits inside the Traffic hub and is the home for everything related to your Shopify App Store ad campaigns. It connects three data sources — your BigQuery keyword rankings, your uploaded Shopify Ad Performance CSV reports, and your Partner API revenue — to give you a clearer picture of ad ROI than the Shopify dashboard alone can provide. Prerequisites - BigQuery connected — keyword rankings and organic positions come from GA4 BigQuery data. Without this, the Organic vs Paid and Wasters tabs show no data. - At least one Ad Performance Report uploaded — raw impressions, clicks, and spend come from the search term CSV you export from your Shopify Partners ad dashboard (see Exporting your report from Shopify below). Ranksy does not pull this automatically. Revenue metrics (True ROAS, ad revenue) additionally require your Partner API to be connected. Exporting your report from Shopify Ranksy reads the By search terms export from your Shopify App Store ad campaigns. You export it yourself from the Shopify Partner Dashboard — Ranksy can't pull it automatically. Do this once per campaign. 1. Sign in to your Shopify Partner Dashboard. 2. In the left sidebar, go to Apps, then open App ads. 3. Open the campaign you want to report on (for example, Exact Match Campaign). 4. Set the date range using the date selector at the top of the campaign (for example, Last 7 days). If you plan to upload several reports over time, pick non-overlapping ranges — for example one file per month. Ranksy keeps each period distinct for the Trends and Compare tabs and will reject a report whose dates overlap one you've already uploaded. 5. Click Export in the top-right of the campaign. 6. In the Export report dialog, change the dropdown from By keywords to By search terms. This is the view Ranksy needs — the other options won't import. 7. Tick Include breakdown by country/region, shop plan, and device type. These columns power Ranksy's Geography tab. 8. Click the green Export button. Shopify doesn't download the file directly — it emails the report to you. 9. Open that email and download the CSV. Repeat for each campaign you're running. Each export already includes the app name, campaign name, and date range, so Ranksy automatically matches the file to the right app when you upload it. Uploading a report Click Upload Report in the top-right. Select one or more Shopify Ad Performance CSV files downloaded from your Partners dashboard. Ranksy processes each file in the background and shows upload progress in real time. Once processing is complete, all tabs update automatically. You can upload multiple non-overlapping reports — for example, separate files for January and February — and Ranksy will keep them distinct for the Trends and Compare tabs. Tabs Overview metrics At the top of every tab, a metric row shows totals across all uploaded reports in the current period: | Metric | What it means | | --- | --- | | Impressions | Total times your ad appeared | | Clicks | Total clicks on your ad | | Installs | Installs attributed to ad clicks in the report | | Spend | Total ad spend | | Avg CPC | Average cost per click | | Avg CPI | Average cost per install | Organic vs Paid This is the flagship tab. It joins your BigQuery organic keyword rankings with the ad data from your uploaded reports and shows a side-by-side view for every keyword you're bidding on. Each keyword row shows: - Your organic rank (from BigQuery scraped rankings) - Your sponsored rank (from the ad report) - Ad impressions, clicks, installs, spend - A verdict classifying the keyword into one of four buckets: | Verdict | Meaning | | --- | --- | | Cannibalized | You rank organically in top 1–2 and your ad has less than 50% share — you're paying for clicks you'd likely get for free | | Essential | You don't rank organically (or rank below position 5) — the ad is the only way you appear for this keyword | | Additive | You rank organically but not in the top positions — the ad adds incremental reach | | Irrelevant | The ad ran but drove zero impressions or installs | The summary bar at the top shows counts for each bucket plus key aggregates: True ROAS, total spend, ad revenue, ad installs, paying shops, conversion to paid, cost per paying customer. True ROAS is not estimated — it traces the full chain from BigQuery ad-click events to Partner API transactions for those specific shops, so it reflects real revenue attributed to ads rather than a modelled proxy. Keywords A full paginated table of every keyword in your uploaded reports. You can search and sort by any column: impressions, clicks, CTR, installs, spend, CPC, CPI. Expanding a row shows the individual search terms that triggered that keyword. Wasters Keywords and search terms that are consuming budget without converting. Ranksy classifies a keyword as a waster when it has ad spend but no installs, or when your organic rank is already strong enough that the ad is redundant. Use this tab to find exact-match negatives to add to your campaigns. Insights The Insights tab surfaces four types of actionable recommendations: AI Performance Report — generates a written analysis of your campaign health. Click Generate, wait a few seconds, and download the PDF. The report draws on all your uploaded data plus organic ranking context. Install Attribution — shows what share of installs came from ads versus organic search versus other channels, reconciled to your Partner API install count. Reduce Bid — keywords where you're paying for sponsored placement but your organic rank is already strong (rank ≤ 8 with organic installs outpacing ad installs). Consider lowering your bid or pausing these. Stop Bidding — keywords where organic presence is dominant (rank ≤ 4 with several organic installs, or organic rank ≤ 6) and the ad is adding negligible value. New Opportunities — keywords with impressions and clicks but zero installs. Worth investigating your listing relevance for these terms before deciding whether to keep or pause them. Keep Bidding — keywords where organic rank is weak but the ad is converting. These are the ads earning their spend. Negative Keyword Suggestions — search terms burning budget with no conversions, grouped into themes (category-level broad/phrase negatives) and spend wasters (exact-match negatives). Geography Breaks down ad performance by country and device type. The map and table show impressions, clicks, installs, CPI, and install rate per market. Hero cards compare your app average install rate and CPI to the app-wide benchmark for each geo. Use this to find markets where your ads are converting unusually well (double down) or unusually poorly (review pricing, listing localisation, or add geo-exclusions). Campaign Trends Select a specific campaign to see its performance across multiple uploaded reports over time. Each row is one report period with delta indicators showing period-over-period changes for impressions, clicks, installs, and spend. Requires at least two non-overlapping reports for the same campaign to show trends. Compare Periods Select any two uploaded reports to compare keyword-level changes between them. The summary row shows aggregate deltas for impressions, clicks, installs, and spend. The table lists every keyword with both periods' numbers and percentage changes. Keywords that appeared in only one period are marked New or Removed. Imported Reports history At the bottom of the page, a table lists every report you've uploaded with its status (completed / processing / failed), date range, total impressions, and spend. You can delete individual reports if you uploaded the wrong file. FAQ Q: Why does my True ROAS differ from Shopify's reported ROAS? A: Shopify's ROAS uses last-click attribution from the ad click. Ranksy's True ROAS traces BigQuery search_ad surface events to Partner API transactions for those shops, which means it only counts revenue from shops that both clicked an ad and eventually completed a transaction — a stricter and more accurate measure. Q: My keywords show as Cannibalized — should I pause those ads? A: Not automatically. Cannibalized keywords are ones where you rank organically in top 1–2 with low ad share. Whether to pause depends on your keyword's competitiveness. If a strong competitor is bidding on the same keyword, pausing might let them take the sponsored slot and erode your install share even if your organic rank is strong. Q: Why is my spend showing but the organic vs paid comparison is empty? A: The Organic vs Paid tab requires BigQuery data to supply organic keyword ranks. If BigQuery is not connected, or if no organic ranking data exists for those keywords yet, the verdict column will be empty. Q: Can I upload multiple reports at once? A: Yes. You can select multiple CSV files in the upload dialog and Ranksy processes them in parallel, showing progress for each file. Q: The geography tab is empty. Why? A: Geographic data is a deferred prop loaded after the main page. If it shows a loading spinner for more than a minute, check that your BigQuery connection is active and that your GA4 export includes the country dimension. Next steps - Traffic Sources — organic traffic by channel and session breakdown - Attribution — multi-model attribution for installs across all channels (Traffic hub → Attribution tab) - Keyword Rankings (ASO) — track your organic rank on the keywords you care about

Last updated on Jul 02, 2026