Jeśli często pracujesz w Google Ads, na pewno regularnie zmieniasz zakres dat, aby sprawdzić wyniki z dzisiaj, wczoraj, ostatnich 7, 14 czy 30 dni. Nie jest to szczególnie czasochłonne, ale przy codziennej pracy na wielu kontach liczba takich drobnych kliknięć szybko rośnie. Niestety Google Ads nie pozwala na tworzenie własnych skrótów klawiaturowych. Można jednak obejść to ograniczenie za pomocą rozszerzenia Tampermonkey i prostego skryptu. Dzięki temu zakres dat zmienisz praktycznie natychmiast, np. wciskając Option (⌥) + 7 dla ostatnich 7 dni. Szczegóły poniżej.

Poniższa instrukcja opisuje konfigurację skrótów przede wszystkim dla komputerów z systemem macOS. Jeśli korzystasz z Windowsa, również możesz skorzystać z tego rozwiązania – w dalszej części wpisu znajdziesz informację, jak uruchomić skróty na Windows.
1. Jak działają skróty do zmiany zakresu dat?
Google Ads posiada własne skróty klawiaturowe (pisałem o tym tutaj), ale nie ma możliwości przypisania dowolnego skrótu do konkretnego zakresu dat. Ja chciałem przede wszystkim przyspieszyć sprawdzanie wyników z najczęściej wykorzystywanych okresów.
Po wdrożeniu skryptu będziemy mogli korzystać z następujących skrótów:
- Option (⌥) + D – dzisiaj
- Option (⌥) + Y – wczoraj
- Option (⌥) + 7 – ostatnie 7 dni
- Option (⌥) + 4 – ostatnie 14 dni
- Option (⌥) + 3 – ostatnie 30 dni
- Option (⌥) + M – w tym miesiącu
- Option (⌥) + L – w zeszłym miesiącu
Powyższe skróty przygotowałem pod macOS. Po naciśnięciu skrótu skrypt automatycznie otworzy selektor dat w Google Ads, znajdzie odpowiedni zakres i go wybierze. W praktyce zamiast kilku kliknięć wystarczy jedna kombinacja klawiszy. Skrypt działa w polskiej wersji interfejsu Google Ads.
2. Instalacja Tampermonkey
Do uruchomienia skryptu potrzebne będzie rozszerzenie Tampermonkey (https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo). Pozwala ono uruchamiać własne skrypty JavaScript na wybranych stronach internetowych. Po zainstalowaniu rozszerzenia kliknij jego ikonę w przeglądarce i kliknij Create a new script… .

Pojawi się edytor z przykładowym kodem. Usuń jego zawartość, ponieważ w kolejnym kroku wkleimy własny skrypt. W przypadku nowszych wersji Chrome może być również konieczne zezwolenie rozszerzeniu na uruchamianie skryptów użytkownika. Jeśli Tampermonkey zgłasza taki komunikat, przejdź do ustawień rozszerzenia w Chrome i włącz odpowiednie uprawnienie.

3. Skrypt do zmiany zakresu dat w Google Ads
W edytorze Tampermonkey wklej poniższy kod:
// ==UserScript==
// @name Google Ads - Date Shortcuts
// @namespace marcinwsol
// @version 4.0
// @description Skróty klawiaturowe do zakresów dat w Google Ads
// @match https://ads.google.com/*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function () {
'use strict';
const shortcuts = {
KeyD: 'Dzisiaj',
KeyY: 'Wczoraj',
Digit7: 'Ostatnie 7 dni',
Digit4: 'Ostatnie 14 dni',
Digit3: 'Ostatnie 30 dni',
KeyM: 'W tym miesiącu',
KeyL: 'W zeszłym miesiącu'
};
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function normalize(text) {
return (text || '')
.replace(/\u00a0/g, ' ')
.replace(/\s+/g, ' ')
.trim();
}
function realClick(el) {
if (!el) return;
el.scrollIntoView({
block: 'center',
inline: 'center'
});
el.focus?.();
const options = {
bubbles: true,
cancelable: true,
view: window
};
el.dispatchEvent(new PointerEvent('pointerdown', options));
el.dispatchEvent(new MouseEvent('mousedown', options));
el.dispatchEvent(new PointerEvent('pointerup', options));
el.dispatchEvent(new MouseEvent('mouseup', options));
el.dispatchEvent(new MouseEvent('click', options));
}
// --------------------------------------------------
// Czy menu dat jest już otwarte?
// --------------------------------------------------
function isDateMenuOpen() {
return [...document.querySelectorAll(
'material-select-item[role="menuitemradio"]'
)].some(el => {
return normalize(el.getAttribute('aria-label')) === 'Dzisiaj';
});
}
// --------------------------------------------------
// Znajdź główny przycisk zakresu dat
// --------------------------------------------------
function findDateButton() {
const buttons = [
...document.querySelectorAll(
'dropdown-button [role="button"][aria-haspopup="dialog"]'
)
];
const candidates = buttons.filter(el => {
const aria = normalize(
el.getAttribute('aria-label')
);
const text = normalize(
el.innerText || el.textContent
);
// Google Ads pokazuje tutaj np.
// "16 sie - 14 wrz 2026"
return (
/\d/.test(aria) &&
/\d/.test(text)
);
});
if (!candidates.length) {
console.error(
'[DATE SHORTCUT] Nie znaleziono przycisku zakresu dat.'
);
return null;
}
// W razie kilku wybieramy najbardziej po prawej
candidates.sort((a, b) => {
const ra = a.getBoundingClientRect();
const rb = b.getBoundingClientRect();
return rb.right - ra.right;
});
return candidates[0];
}
// --------------------------------------------------
// Otwórz menu
// --------------------------------------------------
async function openDateMenu() {
if (isDateMenuOpen()) {
return true;
}
const button = findDateButton();
if (!button) {
return false;
}
console.log(
'[DATE SHORTCUT] Otwieram selektor dat:',
button
);
realClick(button);
// czekamy aż Angular utworzy menu
for (let i = 0; i < 40; i++) {
await sleep(75);
if (isDateMenuOpen()) {
return true;
}
}
console.error(
'[DATE SHORTCUT] Menu dat się nie otworzyło.'
);
return false;
}
// --------------------------------------------------
// Znajdź konkretną opcję
// --------------------------------------------------
function findDateOption(label) {
const items = [
...document.querySelectorAll(
'material-select-item[role="menuitemradio"]'
)
];
return items.find(el => {
const aria = normalize(
el.getAttribute('aria-label')
);
return aria === label;
}) || null;
}
// --------------------------------------------------
// Ustaw zakres
// --------------------------------------------------
async function selectDate(label) {
console.log(
'[DATE SHORTCUT] Ustawiam:',
label
);
const opened = await openDateMenu();
if (!opened) {
return;
}
// menu może potrzebować jeszcze chwili
await sleep(100);
const option = findDateOption(label);
if (!option) {
console.error(
'[DATE SHORTCUT] Nie znaleziono opcji:',
label
);
return;
}
console.log(
'[DATE SHORTCUT] Klikam:',
option
);
realClick(option);
}
// --------------------------------------------------
// Klawiatura
// --------------------------------------------------
window.addEventListener(
'keydown',
function (e) {
if (!e.altKey) return;
if (e.ctrlKey || e.metaKey) return;
const label = shortcuts[e.code];
if (!label) return;
const active = document.activeElement;
if (
active &&
(
active.tagName === 'INPUT' ||
active.tagName === 'TEXTAREA' ||
active.isContentEditable
)
) {
return;
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
selectDate(label);
},
true
);
console.log(
'GOOGLE ADS DATE SHORTCUTS V4 LOADED'
);
})();Po wklejeniu kodu zapisz skrypt. Tampermonkey powinien automatycznie uruchamiać go po wejściu na stronę Google Ads.
4. Uruchomienie skrótów w Google Ads
Po zapisaniu skryptu przejdź do Google Ads lub odśwież otwartą wcześniej kartę.
Możesz teraz sprawdzić, czy wszystko działa. Przykładowo naciśnij Option (⌥) + 7.
Jeśli skrypt został poprawnie uruchomiony, Google Ads powinien automatycznie ustawić zakres na Ostatnie 7 dni.
Analogicznie możesz sprawdzić pozostałe skróty. Przykładowo Option (⌥) + D ustawi dane z dzisiaj, Option (⌥) + Y z wczoraj, a Option (⌥) + 3 z ostatnich 30 dni.
Co ważne, skrypt nie ustawia zakresu dat na sztywno. Korzysta z opcji dostępnych w selektorze Google Ads. W przypadku ostatnich 7 czy 30 dni odpowiednie daty będą więc zmieniały się automatycznie wraz z kolejnymi dniami.
5. Skróty na Windows
Powyższy skrypt możesz wykorzystać również na komputerze z systemem Windows. Nie musisz tworzyć jego oddzielnej wersji ani zmieniać kodu. W skrypcie wykorzystywany jest parametr e.altKey. Na macOS odpowiada on klawiszowi Option (⌥), natomiast na Windows klawiszowi Alt.
Oznacza to, że te same skróty będą działały następująco:

Czyli jeśli korzystasz z Windows, wystarczy zainstalować Tampermonkey, wkleić dokładnie ten sam skrypt i zamiast klawisza Option (⌥) używać Alt. Pamiętaj tylko, że niektóre kombinacje z klawiszem Alt mogą być już wykorzystywane przez system, przeglądarkę lub inne rozszerzenia. Jeśli konkretny skrót nie działa, możesz go łatwo zmienić, o czym przeczytasz w kolejnej części poradnika.
6. Jak zmienić skróty klawiaturowe?
Oczywiście nie musisz korzystać z zaproponowanych przeze mnie kombinacji. Możesz dostosować je do swoich potrzeb. Za przypisanie skrótów odpowiada ten fragment kodu:
const shortcuts = {
KeyD: 'Dzisiaj',
KeyY: 'Wczoraj',
Digit7: 'Ostatnie 7 dni',
Digit4: 'Ostatnie 14 dni',
Digit3: 'Ostatnie 30 dni',
KeyM: 'W tym miesiącu',
KeyL: 'W zeszłym miesiącu'
};KeyD oznacza literę D, KeyY literę Y, natomiast Digit7 cyfrę 7. Jeśli przykładowo chcesz, aby ostatnie 7 dni były dostępne pod skrótem Option (⌥) + 6, wystarczy zmienić:
Digit7: 'Ostatnie 7 dni',
na:
Digit6: 'Ostatnie 7 dni',
Po każdej zmianie zapisz skrypt i odśwież Google Ads. Warto oczywiście sprawdzić, czy wybrana kombinacja klawiszy nie jest już wykorzystywana przez inny skrypt, przeglądarkę lub system operacyjny.
7. Co zrobić, jeśli skróty nie działają?
Na początku sprawdź, czy Tampermonkey jest aktywny i czy skrypt jest włączony. Następnie odśwież kartę z Google Ads. Warto również sprawdzić, czy rozszerzenie ma uprawnienia do działania na stronie Google Ads. W przypadku Chrome ustawienia te znajdziesz w szczegółach rozszerzenia Tampermonkey. Jeśli zmieniłeś/aś kombinacje klawiszy, sprawdź również, czy nie kolidują one z innymi skrótami.
Sam skrypt opiera się na elementach interfejsu Google Ads. Oznacza to, że jeśli Google w przyszłości przebuduje selektor zakresu dat, skrypt może wymagać aktualizacji. Google lubi zmieniać swój dashboard, więc warto mieć to na uwadze :)
Podsumowanie
I to wszystko :) Od teraz zamiast za każdym razem otwierać kalendarz i ręcznie wybierać zakres dat, wystarczy użyć odpowiedniego skrótu klawiaturowego. Przy pracy na jednym koncie oszczędność czasu może wydawać się niewielka, ale jeśli codziennie przełączasz się między wieloma kontami Google Ads i regularnie porównujesz różne zakresy dat, szybko można się do tego rozwiązania przyzwyczaić.
| WSPÓŁPRACA ZE MNĄ |
| Od 2011 roku jako specjalista Google Ads zajmuję się prowadzeniem i optymalizacją kampanii w systemie reklamowym Google. Dotychczas przeprowadziłem ponad 2300 kampanii, których budżet przekroczył już 30 mln zł. Jeśli szukasz kogoś komu chcesz zlecić prowadzenie swoich kampanii, napisz do mnie. Pracuję tylko z firmami, które poważnie podchodzą do tematu, dlatego zapoznaj się proszę z moimi zasadami współpracy. Jeśli je akceptujesz, wyślij mi wiadomość :) Jeśli interesuje Cię audyt kampanii Google Ads lub konsultacje, również mogę pomóc w tej kwestii. |

