⚡ Auto Link Clicker

Enter links (one per line):

0%
Total Clicks: 0
Log:\n

⚡ SEO Link Automation Generator

// Generated code will appear here...

⚡ Advanced Link Click Userscript Generator

Generate ready-to-paste Tampermonkey / OrangeMonkey scripts
Enter hostnames or full urls. We'll create proper @match lines.

Preview — @match rules

(press Generate)

Generated Userscript

Copy this into Tampermonkey / OrangeMonkey.
Before Use

Fisrt install OrangeMonkey chrome extension [click to install] | After install add script

Scroll to Top
Before Use

Fisrt install OrangeMonkey chrome extension [click to install] | Watch on [Youtube]

After install add script
				
					// ==UserScript==
// @name         Auto-Clicker (SEO Real Click + GA Tracking + Auto Close)
// @namespace    https://carodevsystem.com/
// @version      6.1
// @description  Real element click (SEO-visible), tracked in GA/GTM, open in same tab, then auto-close after delay
// @author       Carodev System
// @match        *://*/*
// @run-at       document-idle
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // ---------- RULES ----------
    const rules = [
        {
            domain: "ampipaint.com",
            keywords: ["premium interior", "ampi paint pakistan"],
            delay: 3000,        // wait before clicking (ms)
            closeDelay: 45000,  // close after 45s (good for SEO/analytics)
            scrollMin: 15000,   // min scroll duration
            scrollMax: 30000    // max scroll duration
        }
    ];

    // ----------- RANDOM HELPER -----------
    function rand(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }

    // ----------- RANDOM SCROLL FUNCTION -----------
    function autoScroll(minTime, maxTime) {
        const totalTime = rand(minTime, maxTime);
        console.log(`[AutoClicker] Auto-scrolling for ~${(totalTime/1000).toFixed(1)}s`);

        let elapsed = 0;
        let goingDown = true;

        function doScroll() {
            if (elapsed >= totalTime) {
                console.log("[AutoClicker] Scroll finished");
                return;
            }

            // random step & interval
            const step = rand(200, 600);
            const interval = rand(500, 2000);

            if (goingDown) {
                window.scrollBy(0, step);
                if (window.innerHeight + window.scrollY >= document.body.scrollHeight) {
                    goingDown = false; // reached bottom → go up
                }
            } else {
                window.scrollBy(0, -step);
                if (window.scrollY <= 0) {
                    goingDown = true; // reached top → go down again
                }
            }

            elapsed += interval;
            setTimeout(doScroll, interval);
        }

        doScroll();
    }

    // ----------- MATCH RULE ----------
    function matchesRule(text, href, rule) {
        if (rule.domain && href.includes(rule.domain)) return true;
        if (rule.keywords.some(k => text.includes(k))) return true;
        return false;
    }

    // ----------- GOOGLE CLICK HANDLER ----------
    function searchAndClick() {
        if (!location.hostname.includes('google.')) return;

        const results = Array.from(document.querySelectorAll('a'));
        for (const a of results) {
            const href = (a.href || '').toLowerCase();
            const text = (a.innerText || '').toLowerCase();

            for (const rule of rules) {
                if (matchesRule(text, href, rule)) {
                    console.log(`[AutoClicker] Match found for ${rule.domain}: ${href}`);
                    setTimeout(() => {
                        try {
                            a.removeAttribute('target'); // ensure same tab

                            // ---- TRACKING EVENT ----
                            window.dataLayer = window.dataLayer || [];
                            window.dataLayer.push({
                                event: "auto_click",
                                event_category: "AutoClicker",
                                event_label: href,
                                domain: rule.domain,
                                keyword_match: rule.keywords.find(k => text.includes(k)) || null,
                                timestamp: Date.now()
                            });
                            console.log("[AutoClicker] Event pushed to dataLayer:", window.dataLayer.slice(-1)[0]);

                            // ---- REAL CLICK ----
                            const evt = new MouseEvent('click', {
                                view: window,
                                bubbles: true,
                                cancelable: true,
                                button: 0
                            });
                            a.dispatchEvent(evt);
                            console.log(`[AutoClicker] Real element click dispatched → ${href}`);
                        } catch (err) {
                            console.warn('[AutoClicker] Fallback navigation:', err);
                            window.location.href = href;
                        }
                    }, rule.delay);
                    return;
                }
            }
        }
    }

    if (location.hostname.includes('google.')) {
        setTimeout(searchAndClick, 1500);
        new MutationObserver(searchAndClick).observe(document.body, { childList: true, subtree: true });
    }

    // ----------- AUTO CLOSE + SCROLL ON DOMAIN ----------
    rules.forEach(rule => {
        if (location.hostname.includes(rule.domain)) {
            console.log(`[AutoClicker] On ${rule.domain} → random auto-scroll + close in ${rule.closeDelay/1000}s`);

            // Start random scroll
            autoScroll(rule.scrollMin, rule.scrollMax);

            // Auto-close
            setTimeout(() => {
                try {
                    window.close();
                    if (!window.closed) {
                        location.href = 'about:blank'; // fallback
                    }
                } catch {
                    location.href = 'about:blank';
                }
            }, rule.closeDelay);
        }
    });

})();