# Workflow

Quick Set
  • WYBIERZ: "Workflow" ➡️ "Add new Workflow"
  • DODAJ: Skonfigurowane uprzednio moduły z zastosowaniem właściwej kolejności
  • USTAL: harmonogram uruchamiania
    🎉 GOTOWE przybij sobie piątkę 🎉

# Wprowadzenie

Workfolw jest najważniejszą funkcją WitCloud. Jego zadaniem jest uruchamianie skonfigurowanych wcześniej modułów. W Workfolw określa się kolejność wykonywania funkcji collect, process oraz report łącząc je w łańcuch.

# Przykład działania

  1. Co godzinę łączymy hity, które spłyneły przez collector Google Analytics w sesje.
  2. Pobieramy dane reklamowe z systemu Google Ads.
  3. Dołączamy dane z Google Ads do tabeli sesji.
  4. Pobieramy dane reklamowe z systemu Facebook Ads.
  5. Dołączamy dane z Facebook Ads do tabeli sesji.
  6. Aktualizujemy dane w raportach w Data Studio.

# Konfiguracja

# Zanim zaczniesz

Ważne

Moduł służy do zarządzania kolejnością wykonywania procesów. Przed przystąpieniem do budowania workflow konieczne jest wcześniejsze przygotowanie budujących go elementów (modułów Collect, Process oraz Report).

# Rozpocznij tworzenie modułu

Aby utworzyć nowe workflow należy z menu znajdującego się po lewej stronie wybrać workflow (1), a następnie Add new Workflow (2).

image alt text

# Początkowe ustawienia

PW pierwszej kolejności, w polu (1) nazywamy dane workflow. Poniżej widoczny jest schemat projektowanego przez nas łańcucha sekwencji zdarzeń.

Poszczególne moduły dodajemy wybierając znak "+".

image alt text

Wśród dostępnych opcji mamy do dyspozycji:

  • Task,

  • Choice,

  • Map (Zbiór zadań),

  • Pass (Time range).

Szczegółowo działanie poszczególnych opcji przedstawiono w dalszej części dokumentu.

Ważne

Workflow przebiega w określonym kierunku, symbolicznie zaznaczonym od pola "START" w kierunku pola ”END”. Istotna jest kolejność dodawania poszczególnych procesów.

Po skonfigurowaniu kolejności zdarzeń, na zakończenie tworzenia workflow, ustalamy schemat czasowy jego wykonywania po włączeniu opcji Shedule Workflow (1). Konieczny jest wybór strefy czasowej (2) w której będą realizowane zadania. Możliwe jest włączanie workflow w zadanych odstępach czasu (3)(co określoną ilość, godzin, dni, tygodni lub miesięcy). Po zakończonej konfiguracji klikamy przycisk "Create"

image alt text

# Task

Jest to podstawowy typ kroku w Workflow. Przedmiotem wykonywanej przez task logiki jest moduł WitCloud.

Ważne

Zadanie typu "Task" jest wykonywane jednorazowo (dla jednej tabeli) w workflow, w przypadku zadań powtarzalnych (pętli) właściwą funkcją jest “Map”.

Taski można dodawać po stworzeniu workflow klikając znak "+"(2) na schemacie, a następnie wybierając ikonkę “Task” image alt text

image alt text

Przechodzimy wówczas do pierwszego kroku ustawień danego zadania pozwalającego na nadanie nazwy (1), dodanie komentarza (2), oraz w ostatnim punkcie wyboru modułu, który chcemy wykorzystać (3a). Rozwijane menu pozwala na wybór funkcji (3b).

image alt text

image alt text

TIP

Zadaniem (task) może być dowolny skonfigurowany uprzednio moduł: Collect, Process Raport.

Wybór zatwierdzamy klikając przycisk "next". Otrzymujemy wówczas podgląd naszego Workflow, z umieszczonym w nim zadaniem.

image alt text

# Map

Z funkcji map należy skorzystać w przypadku kiedy chcemy przeprocesować dane dla wielu tablic np. z określonego zakresu czasu, zdefiniowane uprzednio funkcją Pass.

Funkcję map można dodać po stworzeniu workflow klikając znak "+"(2) na schemacie, a następnie wybierając ikonkę “Map”.

image alt text

image alt text

W drugim kroku konfiguracji określamy nazwę (1), dodajemy opcjonalny opis (2) oraz ustalamy sposób wczytywania danych (3), dla których chcemy wykonać określoną operację klikając ikonkę "+"(4).

image alt text

W punkcie (3) mamy do wyboru opcję:

All at one- opcja odnosi się do zakresu zmiennych (np. dat) zdefiniowanych w funkcji pass. Pozwala załączyć dane "na raz", bez podziału na mniejsze partie, lub iteracyjnie co określoną porcję danych (np. po 10 dni na raz). Proces przeprowadzany na raz przebiega szybciej, ale ma ograniczenia techniczne- np. dane odczytywane z plików spreadsheet mają ograniczoną ilość obsługiwanych zapytań na sekundę, co w niektórych przypadkach może powodować utratę części danych.

Specific number at once- wejściowy zakres zmiennych zostanie podzielony na mniejsze paczki, zawierające określoną ilość zapytań przetwarzanych jednocześnie. Proces może się wydłużyć w czasie, ale zapewni pewniejszą integrację danych.

WARNING

Zaleca się jako maksymalną ilość danych określić 30.

W następnym kroku (4) wybieramy zadanie, które ma zostać zrealizowane we wcześniej określonych krokach. Do wyboru mamy:

task, choice i pass. Działania poszczególnych elementów są identyczne jak z początkowego poziomu workflow. Pozwala to na zagnieżdżanie oraz rozbudowywanie bardziej złożonych funkcjonalności.

image alt text

# Pass

Funkcja pass pozwala na określenie zakresu dat, dla których zostaną przeprowadzone operacje. Daje to korzyści w postaci możliwości analizowania danych historycznych oraz optymalizacji kosztów bieżących analiz.

Obowiązkowa kolejność

Zakres dat określony w "Pass" zostanie uwzględniony przy procesowaniu jedynie następnego kroku w Workflow, który musi być Map.

Zakres dat można dodawać po stworzeniu workflow klikając znak "+"(2) na schemacie, a następnie wybierając ikonkę “Pass”.

image alt text

image alt text

W drugim kroku konfiguracji określamy nazwę (1), dodajemy opcjonalny opis (2) oraz ustalamy sposób określenia zakresu dat (3).

image alt text

Mamy do dyspozycji następujące opcje:

Lat X Days- opcja określa daty dynamicznie, w przedziale od bieżącej daty do x dni wstecz.

Dynamic Date Range- opcja określa daty dynamicznie. Pozwala na ustalenie zakresu czasu w relacji do obecnej daty - np. zakres od 14 do 3 dni wstecz.

Static Date Range- pozwala na statyczne określenie stałego zakresu dat.

Po wyborze zakresu wyświetlą się wszystkie daty, które będą procesowane w następnym kroku workflow.

# Choice

Funkcja choice pozwala na wprowadzenie warunku, który w sposób automatyczny będzie rozdzielał dalsze kroki workflow. Funkcja umożliwia np. dołączanie danych spływających okresowo z systemów CRM. Warunek można dodawać po stworzeniu workflow klikając znak "+"(2) na schemacie, a następnie wybierając ikonkę “Choice”.

image alt text

image alt text

W drugim kroku konfiguracji określamy nazwę (1), dodajemy opcjonalny opis (2) oraz ustalamy logiczne warunki wyboru (3).

image alt text

Warunek może zostać określony jako wartość:

Is - spełniająca określone kryteria,

Not - wyłączająca określone kryteria,

And - spełniająca sumę kryteriów,

Or - spełniający jedno z kryteriów.

Dostępne są następujące operatory kryteriów:

== - dokładnie odpowiada wartości

< - mniejszy niż wartość,

> - większy niż wartość,

<= - mniejszy lub równy,

>= - większy lub równy.

Po zakończeniu definiowania warunku klikamy "Add". Na ekranie widzimy zaktualizowany schemat naszego workflow, rozwidlony w miejscu dodania “Choice”. W dalszych krokach dodajemy kolejne punkty na odpowiednich gałęziach klikając w “+” dla opcji spełniającej nasz warunek (1), oraz w przypadku niespełnienia warunku (2).

image alt text

# Best practice

# Kolejność modułów

Kolejność wykonywanych zadań

Właściwa kolejność tworzenia łańcucha Workflow jest kluczowa. Na kolejność dodawania poszczególnych elementów należy patrzeć przez pryzmat danych dodawanych do głównej tabeli sesji poprzez metodę "małych kroczków". Np. przed dodaniem danych reklamowych i kosztowych z Google Ads należy:

  1. Przeprocesować sesje - moduł Collect Google Analytics
  2. Pobrać dane Google Ads - moduł collect Google Ads
    Dopiero teraz należy uruchomić proces Google Ads

Poniżej przedstawiono przykład Workflow, niepoprawnie skonfigurowanych Workflow:

image alt text

W pierwszym przypadku nie wybrano modułu zbierającego dane Google Ads (Google Ads Collect) więc wykonywany moduł Google Ads - join ads with GA session nie miał danych, które miał dołączyć do tabeli sesji.

W drugim przypadku występują wszystkie potrzebne moduły, ale źle określono kolejność ich wykonywania. Najpierw należy wybrać moduły typu Collect odpowiedzialne za zbieranie danych, a dopiero później te odpowiedzialne za ich dołączanie do tabeli sesji lub transformacje.

Poniżej przedstawiono przykład prawidłowo przygotowanych Workflow:

image alt text

Pierwszy przykład pokazuje standardowe rozwiązanie gdzie w jednym łańcuchu najpierw zbierane są dane sesji (moduł GA sessions), następnie zbierane są dane reklamowe (moduł Google Ads - Collect), a w ostatnim kroku dane reklamowe są dołączane do tabeli sesji (moduł Google Ads - join with GA sessions).
W drugim przykładzie skonfigurowano Workflow odpowiedzialne wyłącznie za zbieranie danych reklamowych. W pierwszym kroku zbierane są dane reklamowe (moduł Google Ads - Collect), a następnie są one dołączane do tabeli sesji (moduł Google Ads - join with GA sessions). Aby takie rozwiązanie działało poprawnie konieczne jest zrobienie odrębnego Workflow, w którym procesowane są sesje. Musi się ono wykonać przed Workflow dołączającym dane reklamowe - w przeciwnym wypadku informacje nie zostaną dołączone bo nie będzie utworzonej tabeli sesji. Kolejność wykonywania Workflow można ustawić poprzez wybór godziny uruchomienia. Należy mieć na uwadze, że takie rozwiązanie pomimo poprawności, może przysparzać problemów w przypadku np. przedłużającego się procesowania jednego z Workflow - jeśli skończy się po rozpoczęciu następnego Workflow dane nie połącząs się poprawnie.

Workflow dla początkujących

Najprostszą metodą tworzenia Workflow jest uwzględnienie modułów w następującej kolejności:

  1. Moduły collect
  2. Moduły process
  3. Moduły report

# Funkcja map

Elastyczny zakres dat

Dobrą praktyką jest tworzenie każdego workflow w formie Map - Pass. Wówczas po umieszczeniu zadań w jednym "kontenerze", łatwo jest szybko zdefiniować zakres dat do przeprocesowania. Jest to przydatne w przypadku procesowania danych historycznych. Umożliwia też szybkie "łatanie" braku danych w pojedynczych dniach np. w przypadku problemów technicznych.

Kilka Workflow

Jeśli zaplanowane działania są rozbite na kilka mniejszych workflow, należy pamiętać o tym by we wszystkich konfiguracjach pojedynczy moduł collect był użyty tylko raz. Każdorazowe uruchomienie procesu powoduje nadpisanie danych, więc wszystkie informacje dopisane (np. podłączone dane z Google Ads i Facebook Ads) zostaną usunięte z tabeli po ponownym przeprocesowaniu sesji za już przeprocesowany okres.

Last updated: 2/3/2021, 10:28:38 AM