appranker
  • App promotion
  • Indie makers
  • Marketing

How to promote your app for free: a practical playbook for indie iOS and Android developers

How to promote your app for free: tracked store links, Smart App Banners, promo codes, communities, content and store features that bring installs.

AppRanker team12 min read

A hand holding an iPhone up against a pale grey wall, its screen showing an orange app splash screen with a round logo

If you are searching for how to promote your app for free, you have probably already met the hard part: the app ships, the store page goes live, and nothing happens. The stores do not hand traffic to a new app with no installs, no ratings and no history. As one commenter in a Hacker News thread on promoting projects with a limited budget put it, the job is to "get into the heads of a bunch of likely users, or ideally actual users, and then help them do what they're trying to do."

This playbook covers the free channels that work for mobile apps, in the order worth doing them: measure first, make your own website and store tools work for you, then go where your users already are. Every step uses free tools from Apple and Google or your own time, and a short section at the end covers low-cost options for when time runs out.

Key takeaways

  • Set up tracked store links before you promote anything: Apple campaign links and Google Play UTM referrers are free and show which channel brought installs.
  • Your own website is a promotion channel: add a Smart App Banner on iOS and the official store badges everywhere.
  • Promo codes are free on both stores. Apple still offers app download codes; Google Play offers codes for paid apps, one-time products and subscriptions.
  • Communities reward people who help, not people who post links. Read each community's rules before you share.
  • Content that answers a real problem keeps bringing visitors long after a launch post is forgotten.

Before you promote: fix the store page

Every free channel below sends people to your store page, and the page decides whether they install. If your first screenshot does not say what the app does, more traffic just means more people leaving.

Check three things before you spend time on promotion:

  1. The first two screenshots say the outcome, not the feature list. Our guide to writing a store listing that converts goes through the name, icon, description and screenshots in order. Once you have traffic, App Store A/B testing tells you which version actually converts better.
  2. The app is findable for its own name. If it is not, start with why an app is not showing in App Store or Google Play search.
  3. You know your baseline. Write down this week's store page views, installs and conversion rate in App Store Connect and Play Console, so you can see what changes.

Free promotion is a numbers game across many small channels, and you need to know which ones work. Both stores give you free attribution for links you share.

A person in a suit holding a phone showing an analytics dashboard with acquisition numbers, a laptop with a bar chart open behind it

Know which channel brought each install before you decide where to spend more time. Photo: Zuko.io Images, Wikimedia Commons, CC BY 2.0

In App Store Connect, open your app, click the Analytics tab, then Campaigns under Acquisition, and add a campaign. Apple's help page on campaign links explains the tokens in the generated link:

https://apps.apple.com/app/apple-store/id123456789?pt=123456&ct=reddit-launch&mt=8
  • pt is your provider token. It identifies your developer account and stays the same for every campaign.
  • ct is the campaign token: one per channel or post, such as reddit-launch or newsletter-oct.
  • mt=8 is the media type for apps.

A download counts for a campaign when someone downloads for the first time within 24 hours of using the link. Campaigns show in Analytics after 24 hours and once a campaign has at least five first-time downloads, so small campaigns may not appear at all. That is a privacy threshold, not a bug.

Google Play UTM referrers

Google Play reads UTM tags from a referrer parameter on the store URL, not from ordinary web UTM parameters. The value must be URL-encoded:

https://play.google.com/store/apps/details?id=com.example.app&referrer=utm_source%3Dreddit%26utm_medium%3Dpost%26utm_campaign%3Dlaunch

Play Console's acquisition reports group visitors from these links under Tracked channels (UTM), and the conversion analysis view lets you filter by UTM source and campaign. Sources with too few visitors are grouped as "Other."

A tiny script keeps the links consistent, so you never hand-type an encoded referrer:

from urllib.parse import quote, urlencode

APPLE_ID = "123456789"      # App Store Connect > App Information > Apple ID
PROVIDER_TOKEN = "123456"   # from your first campaign link
PACKAGE = "com.example.app"


def store_links(source: str, medium: str, campaign: str) -> dict:
    apple = (
        f"https://apps.apple.com/app/apple-store/id{APPLE_ID}"
        f"?pt={PROVIDER_TOKEN}&ct={quote(f'{source}-{campaign}')}&mt=8"
    )
    referrer = urlencode(
        {"utm_source": source, "utm_medium": medium, "utm_campaign": campaign}
    )
    play = (
        "https://play.google.com/store/apps/details"
        f"?id={PACKAGE}&referrer={quote(referrer)}"
    )
    return {"apple": apple, "play": play}


print(store_links("reddit", "post", "launch"))

Keep Apple's campaign token short: App Store Connect accepts up to 30 characters when you create a campaign there.

Step 2: Turn your website into an install channel

Your website, docs and blog are the cheapest promotion you own. Make each page hand visitors to the store with as little friction as possible.

Add a Smart App Banner for iPhone visitors

Apple's Smart App Banner is a single meta tag that shows a native banner at the top of your page in Safari on iOS. If the app is installed, the banner opens it; if not, it goes to your App Store page. Apple notes that the banner hides itself on devices the app does not support and where the app is unavailable.

<meta name="apple-itunes-app" content="app-id=123456789, app-argument=https://example.com/recipes/42">

The optional app-argument passes the current URL to your app, so a visitor reading a recipe on your site lands on the same recipe in the app. Banners do not appear in the iOS Simulator or inside frames, so test on a real device.

There is no Google equivalent built into Chrome, so for Android visitors use a normal button with the Play badge.

Use the official badges

Apple and Google both publish official badges and rules for using them: Apple's marketing guidelines and the Apple Marketing Tools site for badges, links and promotional artwork, and Google's Google Play badge generator. Visitors recognize them instantly, which is the point. Put them in your site header, your docs, your email signature and your press kit, each with the tracked link from step 1.

Add a QR code where people are not on a phone

Laptop visitors and people looking at a poster or slide cannot tap a store link. A QR code with a tracked link turns them into phone visitors. Use one per placement (ct=conference-slide, ct=flyer) so you can tell them apart.

A large black-and-white QR code poster mounted on a dark tiled wall at Plaça de Catalunya in Barcelona, part of a street QR code campaign for a Joan Miró exhibition

A QR code on a poster turns passers-by into store visitors. Photo: Kippelboy, Wikimedia Commons, CC BY-SA 4.0

Step 3: Use the free promotion tools in the stores

Both stores give developers free tools that many never open.

  • Apple promo codes. You can request up to 100 promo codes per version of each platform your app supports, each valid for four weeks. They are ideal for paid apps and for reviewers. Since March 26, 2026, new promo codes cannot be created for In-App Purchases; use offer codes for those.
  • Google Play promo codes. Google's promo code help covers free paid apps, one-time products and subscription trials of 3 to 90 days. You can create up to 500 codes per quarter across non-subscription promotions.
  • Store events and promotional content. Apple's In-App Events and Google Play's promotional content put time-limited events in front of store visitors. Play's promotional content is available for all games and for apps that meet Google's eligibility criteria, and must be about something new and noteworthy, not an evergreen description.
  • Featuring nominations. Apple accepts featuring nominations from App Store Connect, and Apple's promoting your apps page collects its official marketing resources in one place.

Step 4: Go where your users already talk

Communities can bring your first real users, but only if you show up as a member, not an advertiser.

A hand holding up an iPhone showing the Evernote app at a crowded community meetup, with a green slide projected on the wall behind

User meetups and online communities reward people who show up to help. Photo: Heisenberg Media, Wikimedia Commons, CC BY 2.0

  • Pick niche over big. A subreddit, forum or Discord about the problem your app solves (sourdough, running, ADHD planning) beats a general "app promotion" board full of other developers.
  • Read the rules first. Many communities limit self-promotion, require a flair, or allow it only in a weekly thread. Following them is the difference between a useful thread and a ban.
  • Lead with the story. The Hacker News advice holds everywhere: "Post about your project and position it as a story." Explain what problem you had, what you built and what you learned, and ask for feedback.
  • Answer questions with no link. When someone asks for a tool like yours, a helpful answer that mentions the app once builds more trust than a drive-by link.
  • Show HN, if it fits. Hacker News's Show HN guidelines say it is "for something you've made that other people can play with," without barriers "such as signups or emails," and ask you not to recruit upvotes. A free app people can install and try fits; a landing page does not.

Use a separate campaign token for each community, and look at installs, not upvotes.

Step 5: Create content that keeps working

Launch posts fade in a day. Content that answers a question people search for keeps bringing visitors for years, which is why it is the best free channel for most apps once the first push is over.

  • Write about the problem, not the app. Another commenter in the same Hacker News thread advised: "Write blog posts that clearly show the real-world problems that your software solves. People who Google for those problems, may find your blog post." A meal-planning app gets more from "how to meal prep for a week on a budget" than from "Announcing version 2.0."
  • Record short demos. Another suggestion from the thread: "Make YouTube videos sharing how you use the product." A 60-second screen recording of the app solving one problem works on YouTube Shorts, TikTok and Instagram Reels, and you can reuse it as an App Store app preview.
  • Build in public. Share progress, numbers and lessons on X, Bluesky, LinkedIn or Indie Hackers. Readers who followed the build become your first users and reviewers.
  • Get listed where it fits. If your app is open source, add it to relevant "awesome" lists on GitHub. If it serves a profession, ask the newsletters and sites that profession reads.

Step 6: Make your users your promoters

Your existing users are the most credible promotion you have.

  • Add a share action. A "Share this app" button using the system share sheet (ShareLink in SwiftUI, an ACTION_SEND intent on Android) with your tracked store link costs an afternoon and works forever.
  • Make shareable output. If the app creates something (a workout summary, a playlist, a design), let users share an image of it with the app name on it.
  • Ask for ratings at the right moment. Ratings drive conversion on both stores. Ask after a success, not at first launch, using the stores' own review prompts.
  • Reply to reviews. Both stores let you reply publicly. A thoughtful reply to a 2-star review is promotion that every later visitor reads.

Step 7: Reach press, reviewers and other developers

  • A one-page press kit with your icon, three screenshots, a short description, a demo video and your contact details makes it easy to write about you. Link it from your site footer.
  • Pitch small and specific. A niche blogger or podcast host whose audience matches your app is more likely to reply than a big tech site, and their readers convert better. Offer a promo code.
  • Cross-promote with other indie developers. Two apps with the same audience but different jobs (a habit tracker and a journaling app) can mention each other in their settings screens or newsletters at no cost.

Low-cost options when free is not enough

Free channels take time. When time is the constraint, a few low-cost placements can complement them:

Our launch-week visibility checklist covers how to line these up around a launch date.

A weekly plan for free app promotion

Promotion works best as a habit, not a one-day launch. A sustainable rhythm for a solo developer:

Day Task Time
Monday Check last week's campaign links and UTM sources; drop what brought no installs 20 min
Tuesday Answer questions in two communities where your users are 30 min
Wednesday Write or update one problem-focused article or short video 60 min
Thursday Reply to every new review on both stores 15 min
Friday Share one progress update or user story; send one pitch to a niche blogger 30 min

Checklist: how to promote your app for free

  • Store page reviewed: first screenshots say the outcome; baseline conversion noted.
  • App Store campaign links and Google Play UTM referrer links created, one per channel.
  • Smart App Banner on your website; official store badges on every page.
  • QR codes with tracked links for slides, posters and print.
  • Promo codes ready for reviewers; offer codes for In-App Purchases.
  • Store events or promotional content planned for your next update.
  • Two or three niche communities joined, rules read, story post drafted.
  • One problem-focused article or demo video per week.
  • Share action and review prompt in the app; replies to reviews.
  • Press kit page live; three niche blogs or newsletters pitched.

FAQ

How can I promote my app for free?

Start with tracked links so you can measure results, then use your own website (a Smart App Banner and store badges), free store tools (promo codes, In-App Events, Play promotional content), niche communities where your users already are, and content that answers the problems your app solves.

What is the best free way to get app downloads?

There is no single best channel, but for most indie apps the combination that lasts is store search plus content: a store page that converts, and articles or short videos that answer questions your users search for. Communities and launch sites give a spike; content and search keep bringing visitors.

Can I track which channel brought an install?

Yes, for free. Apple's campaign links (with pt and ct tokens) attribute first-time downloads in App Store Connect Analytics, and Google Play reports UTM-tagged links passed in the referrer parameter under Tracked channels (UTM) in Play Console.

Is it OK to post my app on Reddit?

It depends on the subreddit. Many limit self-promotion or allow it only in specific threads, so read each community's rules first. Posts that tell the story behind the app and ask for feedback are received far better than bare links.

Are Apple promo codes still available in 2026?

Yes, for free app downloads. Apple stopped allowing new promo codes for In-App Purchases on March 26, 2026, and points developers to offer codes for those instead. You can still request up to 100 promo codes per app version.

Image credits

  • Cover, iPhone held up against a grey wall: photo by NeONBRAND, via Wikimedia Commons (from Unsplash), CC0. Cropped to 1200x630.
  • Checking traffic sources on a phone: photo by Zuko.io Images, via Wikimedia Commons, CC BY 2.0. Resized.
  • QR code poster on a tiled wall: photo by Kippelboy, via Wikimedia Commons, CC BY-SA 4.0. Resized.
  • Phone held up at a meetup: Evernote Meetup Paris by Heisenberg Media, via Wikimedia Commons, CC BY 2.0. Resized.

Filed under

  • App promotion
  • Indie makers
  • Marketing
All articles