1. First-run setup wizard
On install, a welcome wizard opens automatically and walks you through the pipeline: resolve redirects → unwrap embedded URLs → clean tracking params → add your affiliate tag → optional network wrap → optional shorten → optional broadcast.
Read the intro. It shows the pipeline overview.
Pick or confirm your stores. Choose from the 11 presets or add a custom store; replace any placeholder tags with your real affiliate tags.
Add a network. Use a starter template (Cuelinks, EarnKaro, INRDeals, Admitad) or define your own. INRDeals and Cuelink are seeded, with Cuelink as the catch-all fallback.
(Optional) Connect a Telegram channel. Paste a bot token and chat id and use Send test message. You can skip and do it later (§6).
Review the analytics consent toggle. It is pre-enabled (on by default). To opt out now, toggle it OFF on this step before finishing; to opt out later, Settings → Behavior (§13).
Finish. The quick-jump cards take you to common tasks.
2. Converting a link
Four ways to convert. All run the same pipeline and store the result in your local history.
A · From the popup
Open a product page, click the toolbar icon (or Alt+Shift+L); the popup pre-fills the active tab's URL. Click Convert, then Copy or share.
B · Convert the current tab
Press Alt+Shift+K on any page — converts without opening the popup; a result notification appears and the link is copied.
C · From the dashboard Home
Open the dashboard (Alt+Shift+O), paste a URL into the convert box, click Convert.
D · Right-click any link or page
Choose Process with dealsgroup. Each use requires an explicit click — nothing runs automatically.
Maximum input URL length is 8192 bytes; default redirect depth is 4 hops. Amazon short links (amzn.to, amzn.in) are expanded to the real Amazon URL first, then matched to your Amazon rule.
3. Stores, networks, shorteners, tokens, excluded domains & unwrap rules
Open the dashboard with Alt+Shift+O. All edits save immediately to chrome.storage.local.
Stores
Stores → Add store. Pick a preset or add a custom domain, set your affiliate tag and which network applies (or "Direct Affiliate" for no wrapping).
Networks
Networks → Add network. Pick a starter template or define a custom one; configure the link template, param rules, and your network ID. A network can be the "covers all hosts" fallback.
Shorteners
The bundled ViaDeals Free is the default and needs no signup. Add a preset or custom API and toggle shortening per pipeline. Custom URLs pass an SSRF guard; responses capped at 64 KB; cookies only to the allowlist.
Smart Replacement tokens [DG-*]
Template link and network values dynamically (FULL_URL, DOMAIN, PARAM:name, TIMESTAMP, UUID, and more). Define your own. Note: no longer applied to Telegram inline-button values — buttons are static.
Excluded domains & unwrap rules
Excluded domains pass through untouched. Unwrap rules extract a destination embedded in a redirector — per domain + parameter, decoding none/url/base64/base64url, up to 5 nested peels. 12 redirector rules seeded by default.
4. Reminders and scheduled messages
Backed by chrome.alarms. Missed items fire on browser startup within a 24-hour grace window.
Dashboard → Reminders → Add.
Choose the kind: Reminder (notifies about a URL + note) or Message (broadcasts free text at the scheduled time).
Set the time and repeat (none / hourly / daily / weekly / monthly / custom).
Choose channels: Chrome notification, Telegram, and/or webhooks. Save.
Reminder notifications include an Open URL button. If OS notifications are blocked, the dashboard warns you. Deleting a reminder clears its alarm.
5. Webhooks
Broadcast to Discord, Slack, n8n, or any custom HTTP endpoint.
Dashboard → Integrations → Webhooks → Add.
Enter the destination URL. It must be public — localhost, loopback, link-local, RFC1918 private ranges, and cloud-metadata are rejected by the SSRF guard.
Set the method and any headers.
Build the body template using
{{message}},{{message_json}},{{message_url}},{{timestamp}},{{token}}.Choose the trigger type (message, all, or reminder). Save and test.
Requests use credentials:'omit'. Authorization-type headers and secret-bearing query params are redacted when you export (§12).
6. Connecting Telegram and sending
Set up a channel
Create a bot with Telegram's @BotFather and copy the bot token.
Add the bot to your channel/group and get the chat id.
Dashboard → Integrations → Telegram → Add channel: paste token and chat id, pick a parse mode (Markdown or HTML).
Click Send test message to confirm delivery.
api.telegram.org — no browser cookies are attached.Compose: rich-text editor with copy as WhatsApp / Telegram (Markdown) / Markdown / Plain. Markdown is upgraded to MarkdownV2/HTML so formatting survives.
Image: per-message image attach sends a photo with your text as caption; falls back to caption-less photo + separate text if too long.
Inline reply buttons (static): values sent verbatim (smart tokens no longer applied). A set can include fill-in-the-blank empty slots prompted at send.
7. Sending a converted link to your destinations
After converting (any method in §2), broadcast in one step: from the popup or dashboard Home choose Send (or Convert & Send on the Deal Feed — §8) to push the templated message/link to all configured destinations (Telegram channels and webhooks). The exact text uses your message template and respects each destination's settings (parse mode, image attach, buttons).
8. Using the Deal Feed
The Deal Feed connects to https://tg-forwarded-deals.deals.group over Socket.io WSS to receive a real-time stream of Telegram deal messages. It is receive-only and opt-in — nothing happens until you click Connect.
Connect
Dashboard → Feed tab → Connect → confirm. Deals stream in live (newest at the bottom) with an unread pill, auto-scroll, and a live online-client count.
Act on a message
Convert (opens the composer), Convert & Send (broadcast to all destinations), or Copy (WhatsApp / Markdown / Telegram / Plain).
Disconnect / reconnect
Live-only (no backlog). Auto-disconnects after 5 minutes of inactivity — click Reconnect to resume. Disconnect manually anytime.
What it sends
Only a standard WebSocket connection plus the server's anonymous online-client count. Images fetched credentials:'omit'; incoming HTML re-sanitized (XSS-safe). No config/credentials/browsing uploaded.
9. Mobile Preview
On any page, press Alt+Shift+M (or use the context menu, or open from Tools).
The side panel opens with the page in a phone-sized viewport.
Pick from ~22 device presets (iPhone, Pixel, Galaxy, OnePlus, iPad) or set a custom user agent.
To frame refusing sites, the extension registers a scoped rule applied only to sub-frames initiated by its own pages, only while the preview is open. It never affects your normal browsing.
10. Redirect Tracer
Dashboard → Redirect Tracer.
Paste a shortened or redirecting link and run the trace.
Review every hop — HTTP 3xx, meta-refresh, JS redirects — with timing, plus the final URL.
Use the Redirect Resolver tab for a single link's resolved destination.
HTTP fetch hops use credentials:'omit'. JS redirects settle in a brief hidden tab (using your normal session); a watchdog alarm closes orphans. Results cached briefly (default 24-hour TTL per entry).
11. Built-in tools
Open Tools in the dashboard:
QR generation uses api.qrserver.com only when you click to generate, and the app shows an in-app warning that the URL is sent to that service.
12. Import, export, and backup
Export (backup)
All secrets redacted by default. To include them in a private backup, explicitly choose Include credentials.
Share a single item
Community shares of a single item always strip secrets, regardless of settings.
Import
Validates each key's shape, runs the SSRF guard, writes atomically with rollback. Unknown/wrong-shape values rejected; a failed import restores your previous state.
13. Settings & turning analytics OFF
Anonymous usage analytics is on by default (the onboarding toggle is pre-enabled). To turn it off:
Open the dashboard.
Go to Settings → Behavior.
Toggle anonymous usage analytics off.
Turning it off takes effect within milliseconds across the extension. While on, it sends only allowlisted event counts to GA4, with non_personalized_ads:true; it never sends URLs, domains, tags, tokens, secrets, message bodies, page content, or your config. Other settings here: themes (light / dark / auto), history size (default 500, configurable 100–5000), and behavior toggles.
The current version is 1.0.12 (the dashboard About page shows it). Questions or problems?