Rename your existing GA4 property, add 12 new data streams, drop the IDs into your code, then connect Search Console. Estimated time: 90 minutes total.
| App | Domain | GA4 ID Now | Vercel Analytics | Search Console |
|---|---|---|---|---|
| Bloggy | bloggy.online | G-WT6X97C78G ✅ | ✅ | ❌ Not verified |
| Rankee | rankee.online | G-WT6X97C78G ⚠️ shared | ✅ | ❌ Not verified |
| Addee | addee.online | G-ADDEE123456 ❌ fake | ✅ | ❌ Not verified |
| Dashee | dashee.online | None | ✅ | ❌ Not verified |
| Displayee | displayee.online | None | ✅ | ❌ Not verified |
| Servvee | servvee.online | None | ✅ | ❌ Not verified |
| Replyee | replyee.online | None | ✅ | ❌ Not verified |
| QRcodee | qrcodee.online | None | ✅ | ❌ Not verified |
| Aprovee | aprovee.online | None | ✅ | ❌ Not verified |
| Signnee | signnee.online | None | ❌ | ❌ Not verified |
| Compliee | compliee.online | None | ❌ | ❌ Not verified |
| Assistee | assistee.online | None | ✅ | ❌ Not verified |
| Rewardee | rewardee.online | None | ✅ | ❌ Not verified |
G-WT6X97C78G). You can't separate that old data — but going forward, once Rankee gets its own stream ID the data splits cleanly. Don't worry about the history.Go to analytics.google.com and sign in with your Google account (the one connected to Bloggy/Rankee).
Click the gear icon ⚙ Admin at the bottom-left of the sidebar.
In the middle column (Property column), click Property Settings.
Click into the Property name field at the top and change it to:
Then click Save at the bottom of the page.
G-WT6X97C78G stays exactly the same — nothing in your code needs to change for Bloggy yet.Still in Admin, go to Data Streams (under Property column). You'll see one stream — probably named "bloggy.online" or similar.
Click on it → click the pencil/edit icon → change Stream name to Bloggy → Save.
G-WT6X97C78G does NOT change when you rename the stream. It stays the same forever.In Admin → Data Streams, click Add stream → choose Web.
Fill in Website URL and Stream name as shown below. Leave "Enhanced measurement" ON. Click Create stream.
After creating, copy the Measurement ID (starts with G-). You'll need it in Phase 3.
Use this table. Fill in the Measurement ID column as you go — you'll paste these into the code later.
| # | Stream Name | Website URL | Measurement ID (write it here) |
|---|---|---|---|
| 1 | Rankee | https://rankee.online | G- _ _ _ _ _ _ _ _ _ |
| 2 | Addee | https://addee.online | G- _ _ _ _ _ _ _ _ _ |
| 3 | Dashee | https://dashee.online | G- _ _ _ _ _ _ _ _ _ |
| 4 | Displayee | https://displayee.online | G- _ _ _ _ _ _ _ _ _ |
| 5 | Servvee | https://servvee.online | G- _ _ _ _ _ _ _ _ _ |
| 6 | Replyee | https://replyee.online | G- _ _ _ _ _ _ _ _ _ |
| 7 | QRcodee | https://qrcodee.online | G- _ _ _ _ _ _ _ _ _ |
| 8 | Aprovee | https://aprovee.online | G- _ _ _ _ _ _ _ _ _ |
| 9 | Signnee | https://signnee.online | G- _ _ _ _ _ _ _ _ _ |
| 10 | Compliee | https://compliee.online | G- _ _ _ _ _ _ _ _ _ |
| 11 | Assistee | https://assistee.online | G- _ _ _ _ _ _ _ _ _ |
| 12 | Rewardee | https://rewardee.online | G- _ _ _ _ _ _ _ _ _ |
Every app needs this exact pattern in its src/app/layout.tsx. Bloggy and Rankee already have it — you're just updating the ID and adding it to the other 11.
Only one line changes between apps — the GA_ID constant. Everything else is identical.
| App | File to edit | Change needed |
|---|---|---|
| Bloggy | Bloggy/src/app/layout.tsx | No change Already has correct ID |
| Rankee | Rankee/src/app/layout.tsx | Update ID Replace shared Bloggy ID → Rankee's new ID |
| Addee | Addee/src/app/layout.tsx | Fix placeholder Replace G-ADDEE123456 → real ID |
| Dashee | Dashee/src/app/layout.tsx | Add GA4 block Add import Script + GA_ID + script tags |
| Displayee | Displayee/app/src/app/layout.tsx | Add GA4 block Note: app is in /app subfolder |
| Servvee | Servvee/src/app/layout.tsx | Add GA4 block |
| Replyee | Replyee/src/app/layout.tsx | Add GA4 block |
| QRcodee | QRcodee/src/app/layout.tsx | Add GA4 block |
| Aprovee | Approvee/src/app/layout.tsx | Add GA4 block |
| Signnee | Signnee/src/app/layout.tsx | Add GA4 + Vercel Analytics Missing both |
| Compliee | Compliee/src/app/layout.tsx | Add GA4 + Vercel Analytics Missing both |
| Assistee | Assistee/src/app/layout.tsx | Add GA4 block |
| Rewardee | Rewardee/src/app/layout.tsx | Add GA4 block |
After editing each layout.tsx, stage and push. Vercel will auto-deploy within ~60 seconds.
Go to search.google.com/search-console → sign in with the same Google account as your GA4.
Click + Add property. Choose Domain (not URL prefix) — this covers http, https, www and non-www in one shot.
Add all 13 domains: bloggy.online, addee.online, rankee.online, dashee.online, displayee.online, servvee.online, replyee.online, qrcodee.online, aprovee.online, signnee.online, compliee.online, assistee.online, rewardee.online
When you add a Domain property, GSC gives you a TXT record to add to your DNS. It looks like:
Add this TXT record in your domain registrar (wherever you manage the .online domains). GSC verifies automatically within minutes to 24 hours.
After verifying each GSC property, connect them to your GA4 property so you can see organic search data inside GA4.
Select your GSC account → choose which GSC properties to link → confirm. Do this once per domain.
In GA4, go to Reports → Realtime. Open each app's website in a separate tab. Within 30 seconds, you should see a user appear in Realtime.
If you see traffic — the stream is working. If not, check: correct G- ID in the code, app is deployed, no ad blockers in your test browser.
In Chrome, install the Google Analytics Debugger extension. Then in GA4 go to Admin → DebugView — it shows every event firing in real time from your browser session, confirming the tag is loaded correctly.
GSC takes 24–72 hours before showing search data even after verification. After 3 days, open each GSC property and check the Overview — you should see impressions starting to come in.