App / Website Setup

An app is one property you monetise — a website, an Android app or an iOS app. Each app has its own API credentials, currency and postback URL, and each is approved separately.

Create one app per property. Run a website and an Android app? Create both. They get separate API keys, separate currencies and separate postbacks, and their reports stay separate.

1. Create the app

In the publisher sidebar, go to Apps and create a new app. Fill in the form and submit.

Field Required Notes
Name Yes Your label for this property. Up to 255 characters. Never shown to your end users.
Platform Yes web, android or ios.
Website URL Optional For web apps. A full URL including https://. Strongly recommended for web.
Package Name Optional For mobile apps, your bundle or package identifier, e.g. com.example.app.
Currency Code Yes The code of the currency you want your end users to see, e.g. USD, EUR, JPY.
Currency Name Yes The full name, e.g. US Dollar. Shown to end users.
Exchange Rate Yes Read this section carefully before entering a value.
Postback URL Optional Where conversion notifications are sent. Can be set now or later. Must be a public http(s) address.

The exchange rate: the direction matters enormously

Preads prices offers in USD. Your exchange rate converts those USD amounts into the currency your end users see on the wall.

The value is the number of your currency units per one US dollar.

So:

  • EUR → enter 0.917431 (about 0.92 euros per dollar)
  • JPY → enter 142.857143 (about 143 yen per dollar)
  • INR → enter 83.333333 (about 83 rupees per dollar)
  • USD → enter 1.000000

Enter the reciprocal and every reward shown to your users will be wrong by a large factor — for JPY, by roughly 20,000×.

Do not rely on the rate the form suggests. The currency selector offers preset values that appear to be on the opposite convention (USD per one unit of your currency). For some currencies the suggested value is correct by coincidence; for others it is badly wrong. Type the value yourself, or correct the suggestion before saving.

Because a wrong rate only affects what end users see on the wall, your own balance and your postbacks stay correct — which makes the error easy to miss. After creating the app, open the wall and check that a reward figure looks plausible.

After you submit

The app is created with status pending and will not work until an administrator approves it. Until then a valid API key returns 403 App not found or inactive, and an unrecognised key redirects the visitor to the home page. Your credentials are generated immediately and are visible on the app's detail page while you wait, but they do not function until approval.

2. Your credentials

Each app gets three 32-character values, generated automatically. They are shown on the app's detail page and can be viewed again at any time.

Credential Used for Keep secret?
API Key The offerwall iframe, the tracking endpoint, and the offers API. Semi-public. It appears in every tracking URL, so anyone who inspects a click can read it. Fine to embed in a page.
API Secret Required alongside the API key by the offers API. Any request to GET /api/v1/offers needs both. Yes. Never place this in client-side code, HTML, or JavaScript. Call the API from your server only.
Postback Secret Nothing, currently. It is generated and displayed, but it is not used to sign postbacks. It cannot be used to verify that a postback came from Preads. See Postback Setup for how to validate postbacks instead.

Rotating a credential means deleting the app and creating a new one — there is no rotate button. Do not do this casually, since the API key appears in live tracking URLs.

3. Set your postback URL

On the app's detail page, set your postback URL so Preads can notify you when conversions happen.

Check the suggested URL template carefully. The form offers a template containing {currency}. There is no such macro — it is not supported, and it will be delivered to your server as literal text, braces and all. Remove it, or replace it with something you control.

See Postback Setup for the full macro list, what each value means, and the important differences between network types.

4. Test your postback

Once a postback URL is saved, the app's detail page has a test tool where you can:

  • send a test postback with a chosen user ID and amount,
  • preview the fully substituted URL before it is sent,
  • re-send a previous test after changing your URL,
  • simulate a network rejection,
  • delete tests you no longer need.
Use it to check that your endpoint receives the request and parses it correctly. Do not use it to calibrate amounts — test amounts are computed differently from real traffic.

Test postbacks are recorded separately from real conversions and are excluded from every figure in your dashboard, so testing will not distort your reports.

Managing apps

From the Apps list you can view, edit and delete your apps.

Status Meaning
pending Awaiting administrator approval. Integration endpoints reject the key.
approved Live. All endpoints accept the key.
rejected Declined, with a reason recorded. You can read the reason and fix the issue; ask your operator if resubmission is possible.
Deleting an app is not reversible. It removes the app and its credentials, and the tracking URLs already embedded in your site stop working — those offers will stop earning for you silently. A deleted app cannot be restored with the same API key.

You can edit the currency and exchange rate after approval if you need to change them. The API key stays the same, so a rate correction does not break existing tracking URLs.

Troubleshooting

Symptom Cause and fix
403 App not found or inactive everywhere The key is valid but the app is still pending. Wait for approval, or contact your operator.
The wall link sends visitors to my homepage The API key is missing or unknown, so the request is redirected. Verify the key character by character.
The wall loads but shows no offers Usually the exchange rate. If you entered USD-per-unit instead of units-per-USD, a reward may round to a number that fails a minimum-value filter. Check the rate first.
Rewards shown to users are far too small The exchange rate is inverted. For JPY, INR or CNY this is usually the cause. Recalculate as units-per-dollar and re-enter it.
401 or INVALID_API_KEY from the offers API Both the API key and API secret are required. Confirm you are sending both, from the server.
Postback URL rejected on save It must be a public http(s) address. Private and loopback IP ranges are refused (localhost is allowed).
Your postback receives literal {currency} That macro does not exist. Remove it from your URL template.
Existing tracking URLs stopped working The app was deleted. Recreate it and update the API key in your site.

Related documentation