Staging — test traffic only

AdGuard and similar blockers often block ads.* hostnames — CSS/JS may not load here. Disable protection for this site, or use the operator console: gbo-staging.datavela.io

Campaigns & tracking links

Create a project → design app page → campaign → creative. Copy the tracking link into Meta or TikTok Ads Manager.

Setup wizard

Current project: QUOK88 quok88

Wizard tracks one project at a time — others are not blocked. QUOK88quokkasino

86%
  1. Project created QUOK88
  2. Money site URL Set
  3. App page design Media uploaded
    Edit
  4. Campaign 1 campaign(s)
  5. Creative (crid) 2 link(s)
  6. Test funnel Real + safe preview
    Open

Ad deployment checklist

  1. 1 Create a project — set money site (target URL) and optional go / safe / app domains.
  2. 2 Design the app page (App design) — icon, screenshots, Play or Apple template.
  3. 3 Add a campaign — pick platform (meta or tiktok) and a campaign ID for /c/{id}.
  4. 4 Add a creative — one unique crid per ad creative (never reuse across ads).
  5. 5 Generate an S2S API key per project — share with the game backend for registration/deposit postbacks.
  6. 6 Copy the tracking link and paste it as the website destination in Ads Manager.
  7. 7 Launch on Android — breakout → Play Store page → Rapid Install redirects to money site (PWA install is on the money site only).
  8. 8 Conversions (sign-up / deposit) post back via S2S — check Dashboard and Conversions.

Send your media buyer the Meta or TikTok brief (ⓘ above): paste exact tracking URL per ad, unique crid, Android, no shorteners.

1. Project (brand / offer)

One row per brand or site. target_url is the money site. Pause stops real funnel; delete removes uploads.

QUOK88 Active
/p/quok88 https://lab.quok88.com/
215.3 KB · 5 media files 1 campaign Locales: es, id, pt, th, tr, vi
quokkasino Active
/p/quokkasino https://lab.quok88.com/
45.6 KB · 2 media files 1 campaign No market locales yet

1b. Domains & DNS

KKPWA-style split: go for ad clicks, safe for reviewers. VM IP 34.150.75.165. Save hosts in project settings, then verify.

DNS wizard — QUOK88

Point go and safe hostnames to VM 34.150.75.165 (grey cloud / DNS only in Cloudflare). Environment: staging. Staging container: host port 3010 (docker-compose.vm.yml).

RoleHostnameCloudflare A recordValue
goquokkasweep.com@ in zone quokkasweep.com34.150.75.165
Paste tracking links in Ads Manager — cloak entry point. Proxy: DNS only (grey cloud).
safeckb77.cloud@ in zone ckb77.cloud34.150.75.165
Reviewers and bots — sacrificial; rotate if burned. Proxy: DNS only (grey cloud).

Setup steps

  1. Cloudflare → each zone → DNS → Add A record as in the table (proxy off).
  2. SSH to VM → add hostnames to nginx → proxy to ads container port.
  3. sudo certbot --nginx -d … for SSL on each hostname.
  4. Click Verify DNS below — DNS + /api/health must pass.

On the VM: add each hostname to nginx (proxy to ads container), then certbot SSL. See platform/scripts/setup-operator-nginx.sh for staging test domains.

2. Campaign

Maps to /c/{campaign_id} in the tracking URL. Align with Meta campaign naming.

3. Creative (crid)

One crid per ad creative — never reuse across different ads.

4. S2S API keys (game backend)

Game server uses this key for registration and deposit postbacks. Endpoint: https://ads-staging.datavela.io/api/v1/s2s/event

ProjectKeyLabelCreatedStatus
QUOK88s2s_2A1O…ZoDG01/07/2026, 08:47Active
QUOK88s2s_N-M_…lQqu01/07/2026, 06:14Revoked
quokkasinos2s_3V5_…3swo18/06/2026, 02:29Revoked

Tracking links

ProjectCampaigncridAd URL (paste in ads manager) Test
QUOK88test_1
meta
crstaginghttps://ads-staging.datavela.io/c/test_1?source=meta&crid=crstaging
QUOK88test_1
meta
crtest1https://ads-staging.datavela.io/c/test_1?source=meta&crid=crtest1
quokkasinometa01
meta
cr88992https://ads-staging.datavela.io/c/meta01?source=meta&crid=cr88992