Opis produktu za 1 grosz. Jak masowo tworzyć unikalne opisy produktów bez znajomości programowania

ewp.pl 2 dni temu

Po co w ogóle automatyzować opisy produktów

Jeśli pracujesz w e-commerce lub w agencji, znasz ten problem: otrzymujesz produkty z niewielką liczbą danych technicznych na ich temat, a potrzebujesz do nich spójnych i przekonujących opisów – najlepiej na bazie wspólnego szablonu. Co więcej, teksty muszą być napisane zgodnie ze sztuką SEO, aby dobrze się pozycjonowały, a także – możliwie unikatowe, aby Google nie uznał ich za duplikaty.

Zapamiętaj

Pisanie na piechotę setek opisów produktów od zera to w copywritingu epoka kamienia łupanego. Niestety w większej skali choćby wspieranie się standardową wersją ChatGPT lub podobnymi narzędziami będzie żmudnym procesem. Przy tym jednak automatyczne generowanie bez dobrze ułożonego systemu skazuje Cię na loterię w zakresie jakości efektów.

Dlatego stwórz proces, który:

  • po zbudowaniu wymaga od Ciebie dosłownie kilku kliknięć, żeby uzyskać nowy opis,
  • przyjmuje dane wejściowe w najprostszej formie,
  • wymusza określoną strukturę tekstu i komplet sekcji,
  • daje powtarzalną jakość,
  • kończy się gotowym opisem, który możesz od razu opublikować lub przesłać klientowi.

A to wszystko dosłownie za grosze.

Architektura automatyzacji

Google Sheets pełni rolę panelu sterowania, podczas gdy n8n zarządza całym procesem. Modele językowe natomiast generują treść, a Google Docs zamienia ją w gotowy dokument, który możesz od razu wysłać klientowi lub opublikować. To fundament całego rozwiązania.

A teraz przejdźmy do sedna. Z kolejnych akapitów dowiesz się, jak krok po kroku zbudować maszynę do tworzenia opisów produktów na skalę przemysłową (ramka 1). Zanim weźmiemy się do pracy, przyjrzyj się jeszcze, jaki efekt osiągniesz (ramka 2).

Generowanie kodu do Apps Script

Żeby uczynić przyciski z Google Sheet interaktywnymi oraz wysłać sygnał do n8n, a potem go odebrać, potrzebne jest uzupełnienie kodu w Apps Script. Zanim jednak przejdziesz do jego konfiguracji, rozwiń w górnym pasku menu zakładkę „Dane”, a następnie wybierz „Zakresy nazwane”. W tym miejscu przypisz nazwy do komórek funkcyjnych, zgodnie z przykładem z ramki 2.

Chodzi o miejsca, gdzie:

  • włączasz automatyzację,
  • wrzucasz podstawowe dane na temat produktu,
  • pojawia się link do gotowego opisu,
  • wyświetla się status automatyzacji.

Dzięki temu, choćby gdy przyciski i pola zmienią swoje położenie, to przez cały czas będą działać.

Teraz możesz śmiało przejść do stworzenia kodu do Apps Script (ilustracja 1). Znajdziesz go po rozwinięciu zakładki „Rozszerzenia”. Nie ma problemu – możesz skorzystać z pomocy LLM. Wystarczy, iż opiszesz mu, co chcesz osiągnąć, a wygeneruje Ci gotowy kod do wklejenia. jeżeli nie wiesz, jak to sformułować, możesz posłużyć się gotowym promptem.

Wymagane komponenty systemu

Klejem dla poszczególnych cegiełek jest n8n. To tam spinasz całą automatyzację. Możesz wykupić dostęp bezpośrednio na stronie n8n lub –
co rekomenduję ze względu na niższą cenę – postawić własny serwer (np. na Hostinger) i bezpłatnie aktywować licencję n8n. jeżeli w ogóle nie chcesz korzystać z tego narzędzia, możesz pracować w Make i dostosować do niego automatyzację.

Drugim niezbędnym elementem jest dostęp do modelu językowego w wersji deweloperskiej. W tym przykładzie wykorzystano rozwiązanie OpenAI. Wystarczy założyć konto, zasilić je niewielką kwotą – choćby pięć dolarów wystarczy na wygenerowanie setek opisów produktów – a następnie wygenerować klucz API (ilustracja 2).

Prompt

Jesteś doświadczonym developerem Google Apps Script (Sheets) i automatyzacji. Wygeneruj kompletny, gotowy do wklejenia kod Apps Script do arkusza Google Sheets, który ma bazować na poniższych założeniach.

Cel:

  • Automatyzacja uruchamia się po naciśnięciu Named Range (np. {{GENERUJ_OPIS}}).
  • Pobiera tekst wejściowy z Named Range (np. {{RANGE_INPUT}}).
  • Wysyła POST JSON do webhooka n8n (URL podawany jako placeholder, bo użytkownik JESZCZE nie ma webhooków – wyraźnie zaznacz miejsce, gdzie go potem wkleić).
  • Odbiera JSON z n8n, wyciąga link do Google Docsa w sposób odporny na różne formaty odpowiedzi:
    • docUrl / url / link / documentUrl / document_url,
    • docUrl / data.url / data.link,
    • documentId/docId → zbuduj URL: https://docs.google.com/document/d/<ID>/edit,
    • jeśli odpowiedź jest stringiem będącym URL → użyj go,
    • jeśli obiekt ma jedną wartość będącą URL (np. {„”: „https://…”}) → użyj jej,
    • jeśli nic nie ma → błąd.
  • Zapisuje link jako RichText (klikany tekst, bez formuł).
  • Ustawia statusy w Named Range (np. {{RANGE_STATUS}}): PUSTE / W TRAKCIE / GOTOWE / BŁĄD.
  • Blokuje „wieloklik” jeżeli status to „W TRAKCIE”.
  • Czyści output i status po naciśnięciu Named Range (np. {{WYCZYSC_POLA}}).
  • Działa w arkuszu docelowym: albo aktywny arkusz, albo po ID zapisanym w Script Properties.

Wymogi dotyczące uniwersalności:

  1. Używaj placeholderów i komentarzy, które użytkownik uzupełni (wyraźnie zaznacz, gdzie je uzupełnić i jak):
    • {{BRAND_NAME}} (napisz, gdzie wstawić nazwę marki).
    • {{WEBHOOK_URL_PROD}} (URL do uzupełnienia później).
    • {{API_HEADER_NAME}} (np. „x-api-key”).
    • {{SCRIPT_PROPERTY_API_KEY}} (np. „BRAND_API_KEY”).
    • {{RANGE_INPUT}} / {{RANGE_OUTPUT_LINK}} / {{RANGE_STATUS}} (nazwy zakresów).
    • {{LINK_TEXT}} (tekst linku w komórce).
  2. Na samej górze dodaj sekcję „JAK UZUPEŁNIĆ (CHECKLISTA)” – krótka lista pól, które czytelnik ma podmienić.
  3. WEBHOOK_URL ma być placeholderem z komentarzem „UZUPEŁNIJ, GDY BĘDZIESZ MIEĆ N8N”.
  4. Nie dodawaj zależności zewnętrznych. To ma być czysty Apps Script.

Dodatkowe zasady:

  • Kod ma mieć stałą sekcję CONFIG.
  • Ma zawierać helpery: setClickableLink_, extractDocUrl_, deepFindUrl_, isUrl_, buildDocUrlFromId_, getApiKey_, getSpreadsheetSafe_, mustGetNamedRange_, rangeToText_, safeJsonParse_, truncate_, getUiSafe_, alertSafe_.
  • Ma być odporny na brak UI (getUiSafe_ i alertSafe_).
  • Używaj UrlFetchApp.fetch z contentType: application/json; charset=utf-8.
  • Ustaw muteHttpExceptions: true i followRedirects: true.
  • Wysyłaj payload: { input, source:”google_sheets”, ts: ISOstring }.
  • Status „GOTOWE” ustaw po sukcesie; jeżeli input pusty: „PUSTE”; jeżeli błąd: „BŁĄD”.
  • Nie generuj żadnych wyjaśnień poza kodem. Zwróć WYŁĄCZNIE końcowy kod Apps Script.

Zapamiętaj

API (application programming interface) to łącznik, za pomocą którego dwa programy mogą ze sobą rozmawiać i wymieniać dane. Każde konto dla danego programu ma unikatowy klucz API, dlatego dbaj o to, aby nie dostał się w niepowołane ręce.

Szablon produktu w Google Docs

Kluczem do powtarzalności jest odpowiedni szablon. W praktyce to dokument, w którym umieszczasz placeholdery (symbole zastępcze) w formacie „{{NAZWA_DANEJ}}”.

U mnie szablon zawiera m.in.:

  • nazwę produktu,
  • pola specyfikacji technicznej,
  • sekcję o historii produktu,
  • sekcję „Dlaczego warto” w formie punktów,
  • FAQ,

Zobacz fragment szablonu na ilustracji 3.

Wskazówka

Nie zmieniaj szablonu opisu produktu co tydzień, jeżeli nie musisz. Każda modyfikacja wymusza bowiem analogiczne poprawki w instrukcji dla AI odpowiedzialnego za tworzenie tekstów. Wydłuża to cały proces.

Workflow w n8n

Najwygodniej będzie, jeżeli od razu wrzucisz sobie do przestrzeni roboczej wszystkie potrzebne node’y –
poszczególne części automatyzacji (ramka 3).

Całość automatyzacji w n8n zobaczysz na ilustracji 4.

Jaki jest koszt jednego opisu? Bez uwzględniania ceny uruchomienia n8n (ponieważ możesz wykorzystać ten program to wielu różnych automatyzacji) wynosi on ok. jeden grosz. A teraz pomnóż to przez np. 1000 opisów i pomyśl, ile trzeba byłoby zapłacić za nie copywriterowi albo ile godzin zajęłoby Ci własnoręczne pisanie. Oszczędność to mało powiedziane!

Dlaczego nie musisz być znawcą automatyzacji

Wydaje Ci się to przez cały czas mgliste i nie masz pewności, co wstawić w poszczególne pola? Witaj w moim świecie – ja również się z tym zmagałem. Ale to nie powinno Cię powstrzymywać przed spróbowaniem.

Nie przy obecnych możliwościach wspomagania się wirtualnym asystentem, którego cierpliwość jest nieograniczona.

Do skonstruowania prostych automatyzacji w większości przypadków wystarczą Ci:

  • Umiejętność opisania celu – komunikaty typu „potrzebuję automatyzacji w n8n, która…”, „chcę, żeby tu był link do…”, „powiedz, jakie ustawienia powinien mieć…”.
  • Dostarczanie kontekstu – screen ustawień node’a, fragment szablonu, dane do analizy.
  • Cierpliwość do iteracji – ChatGPT czasem się myli lub krąży wokół problemu, ale zwykle wystarczy pracować krok po kroku, aby dojść do działającego rozwiązania.

To nie jest czarna magia. Co więcej, z biegiem czasu złapiesz się na tym, iż coraz mniej potrzebujesz pytać ChatGPT, ponieważ zaczynasz rozumieć, jak to wszystko działa w praktyce.

Najczęstsze błędy i problemy przy tworzeniu automatyzacji

Sprawdź, co najczęściej blokuje Twoje workflow przed sukcesem.

  • Niespójne placeholdery

Jeśli placeholder w szablonie to np. „{{SPEC_WYMIARY_FRONTU}}”, a w automatyzacji ta sekcja w JSON nazywa się „SPEC_WYMIARY_ELEMENTU_FRONTOWEGO”, to podmiana nie zadziała. Zadbaj zatem o pedantyczną spójność na tym polu.

  • Błędy w autoryzacji Google

Jeśli widzisz, iż szwankują Ci node’y związane z dostępem do narzędzi Google’a, możliwe, iż ich połączenie z Twoim Gmailem wygasło. Wykonaj wtedy reconnect, a wszystko powinno wrócić do normy.

Brak zrozumienia różnicy między Test URL a Production URL w Webhooku

Jeśli w Apps Script umieścisz Test URL z Webhooka, to workflow będzie działać tylko wtedy, gdy w Webhooku klikniesz „Listen for test event” lub przycisk „Execute workflow” w widoku ogólnym. Korzystaj z tej opcji jedynie w fazie testów.

Gdy wszystko masz już sprawdzone (i opublikowane w n8n dzięki przycisku „Publish” w prawym górnym rogu w widoku ogólnym), to do uruchamiania automatyzacji z zewnątrz (np. w Google Sheet) używaj Production URL. On zadziała bez potrzeby zaglądania do n8n, o ile workflow jest aktywny.

Przeczytaj również: Bogusław Frużyński (Centrum Respo) o SEO w erze AI

Kto nie save’uje, dwa razy pracuje

Prawda prosta, ale jakże często zapominana. W wirze pracy nad automatyzacją (a potrafi to wciągnąć bez reszty) łatwo zapomnieć o bieżącym zapisywaniu zmian. A wtedy wystarczy jedna awaria czy nieumyślne zamknięcie okna i trzeba zaczynać od początku… Wyrób sobie nawyk zapisywania zmian w n8n nie rzadziej niż co kilkanaście minut pracy.

Brak ostrożności

Pamiętaj, iż klucz API jest tworzony indywidualnie dla wszystkich użytkownika. Dlatego nie dziel się nim tam, gdzie dane mogą wyciec. Inaczej może się zdarzyć, iż ktoś będzie np. wykorzystywał Twoje wykupione tokeny do swoich celów.

Dawanie za wygraną

Z własnego doświadczenia wiem, iż konstruowanie automatyzacji bywa frustrujące. Gdy naprawiasz jeden błąd, pojawia się kolejny, i to tam, gdzie do tej pory wszystko było dobrze. To naturalny proces nauki i szlifowania systemu.

Perspektywa wdrożeniowa

Automatyzacja nie musi oznaczać wielomiesięcznego wdrożenia i zespołu programistów. jeżeli masz konkretny cel, chęci i cierpliwość do iteracji, możesz samodzielnie zbudować system, który realnie oszczędza czas i pieniądze, a przy okazji utrzymuje jakość. Dzięki temu zyskujesz przestrzeń na inne działania, np. na… automatyzację kolejnych procesów!

Pisałem ten artykuł z myślą, iż będzie to przede wszystkim inspiracja do tworzenia własnych scenariuszy. Bo procesów, które możesz zautomatyzować, jest mnóstwo. Życzę Ci zatem udanych eksperymentów.

Bonus – tutaj znajdziesz widoki ustawień poszczególnych
node’ów z automatyzacji.

Idź do oryginalnego materiału