---
title: "Agent kampanii w Microsoft 365 Copilot: ROAS kontra marża"
url: "https://majchrzycki.com/blog/agent-kampanii-w-microsoft-365-copilot-krok-po-kroku"
description: "W Agent Builderze Microsoft 365 Copilot budujemy agenta, który liczy marżę kampanii po zwrotach i prowizjach i stawia ją obok ROAS. Pliki XLSX do pobrania."
---

# Agent kampanii w Microsoft 365 Copilot: ROAS kontra marża

30 maja 2026· Aktualizacja: 11 listopada 2026·8 min czytania·[Krzysztof Majchrzycki](https://majchrzycki.com/o-mnie)

Temat: [Handel wielokanałowy](https://majchrzycki.com/blog/filar/handel-wielokanalowy)

**W sześciu krokach zbudujecie w Agent Builderze Microsoft 365 Copilot agenta, który dla każdej kampanii stawia obok siebie dwie liczby: zwrot z wydatków na reklamę (ROAS) z panelu i marżę po zwrotach, koszcie towaru, prowizjach, płatnościach, wysyłce i obsłudze zwrotów.** Tam, gdzie te liczby się rozjeżdżają, agent przygotowuje rekomendację dla marketingu. Kampanii nie wyłącza i budżetu nie rusza. Stan funkcji sprawdzony 15.10.2026 w [dokumentacji Agent Buildera](https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/agent-builder).

Przepis należy do serii o [handlu wielokanałowym jako jednym systemie](https://majchrzycki.com/blog/filar/handel-wielokanalowy) i rozwija kartę agenta kampanii. Dane ćwiczeniowe opisują fikcyjny sklep ogrodowy: kwiecień 2026, pięć kampanii, 1015 zamówień, 88 zwrotów.

> **Gotowy skill.** Procedurę agenta rozliczenia kampanii z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium [moja-firma-handel](https://github.com/majchrzycki-com/moja-firma-handel) na GitHubie, razem z danymi ćwiczeniowymi i wynikiem kontrolnym. Działa w Claude, Microsoft 365 Copilot, ChatGPT i Gemini. [Jak z niego skorzystać](https://majchrzycki.com/blog/skill-agent-kampanii-handel-wielokanalowy).

## Co zbudujesz

Agenta w aplikacji Microsoft 365 Copilot z instrukcjami i trzema plikami XLSX w wiedzy. Pytasz go o rozliczenie miesiąca, a on liczy w code interpreterze i oddaje tabelę z marżą i ROAS każdej kampanii, oznaczenia i rekomendację.

Wejście

Co robi agent

Wynik

`kampanie.xlsx` — plan i koszt reklamy

bierze koszt reklamy i liczy ROAS

ROAS każdej kampanii

`zamowienia.xlsx` — 1015 zamówień

sumuje przychód i koszty zamówień per kampania

rachunek kampanii przed zwrotami

`zwroty.xlsx` — 88 zwrotów

łączy zwroty z zamówieniami po numerze

rachunek po zwrotach

Wszystko razem

porównuje ROAS z marżą, oznacza rozjazdy

tabela i rekomendacja do decyzji marketingu

## Czego potrzebujesz

-   **Licencji albo rozliczenia licznikowego.** Copilot Chat jest w subskrypcji Microsoft 365. Agenci oparci na danych tenanta wymagają licencji Microsoft 365 Copilot albo włączonego pay-as-you-go w Copilot Studio; agenci rozliczani licznikowo są domyślnie wyłączeni i włącza ich administrator ([wymagania](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites)). Dokumentacja nie mówi wprost, czy użytkownik bez licencji może korzystać z plików wgranych do agenta — ustalcie to z administratorem przed startem. Według cennika Microsoftu licencja Microsoft 365 Copilot kosztuje 30,00 USD za użytkownika miesięcznie przy płatności rocznej i wymaga kwalifikującego się planu Microsoft 365.
-   **Przeglądarki albo Teams na komputerze.** Agent Builder działa w aplikacji Microsoft 365 Copilot i w Teams (desktop i web), nie na telefonie.
-   **Danych w XLSX:** [kampanie.xlsx](https://majchrzycki.com/pobierz/agenci/hw/kampanie.xlsx), [zamowienia.xlsx](https://majchrzycki.com/pobierz/agenci/hw/zamowienia.xlsx), [zwroty.xlsx](https://majchrzycki.com/pobierz/agenci/hw/zwroty.xlsx). Komplet z wersjami CSV: [agent-hw-dane-cwiczeniowe.zip](https://majchrzycki.com/pobierz/agenci/agent-hw-dane-cwiczeniowe.zip). CSV w tym przepisie nie użyjesz: nie ma go na liście typów wiedzy Agent Buildera. Pliki XLSX mogą mieć do 30 MB, a Excel działa najlepiej, gdy dane są w jednym arkuszu ([wiedza agenta](https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/agent-builder-add-knowledge)). Nasze pliki mają po jednym arkuszu, a największy, z ponad tysiącem zamówień, waży kilkadziesiąt kilobajtów.

## Czego ten agent nie zrobi

> — _Marketplace zrobił ROAS dwadzieścia dwa!_ — _A ile z tego zostało?_ _(Tego panel reklamowy nie pokazuje. Pokazuje to, za co mu zapłaciliście.)_

Agent nie wyłączy kampanii i nie przesunie budżetu, nawet gdy marża jest ujemna. Budżetem i wyłączaniem kampanii zarządza marketing; o kampanii, która nie zarabia, ale ma budować zasięg nowej kategorii, decyduje zarząd. Agent przygotowuje rachunek i propozycję, człowiek podpisuje decyzję.

Miejsce, w którym ślepa automatyzacja szkodzi: koszt reklamy. W danych ćwiczeniowych jest to jedna liczba w pliku, w firmie bywa to wartość z panelu, którą później koryguje faktura albo nota. Reguła „marża ujemna, wyłącz” uruchomiona na koszcie z panelu wyłączy kampanię, która po korekcie zarabia. Sprawdzicie to w kroku z rzeczywistością. Warunek brzegowy: jeśli koszt reklamy nie jest nigdzie zapisany per kampania i per miesiąc, zacznijcie od tego arkusza. Agent policzy dokładnie tyle, ile mu zapiszecie.

## Krok 1. Sprawdź ustawienia z administratorem

Zapytaj administratora Microsoft 365 o trzy rzeczy: czy masz licencję Microsoft 365 Copilot albo włączone pay-as-you-go, czy w organizacji wolno udostępniać agentów i czy działa Restricted SharePoint Search (wtedy SharePoint nie będzie źródłem wiedzy, co w tym przepisie nie przeszkadza, bo wgrywamy pliki).

## Krok 2. Utwórz agenta

Otwórz `microsoft365.com/chat` → lewy panel → „Create agent” → karta „Configure”. Wpisz:

-   Name: „Agent kampanii” (limit 30 znaków),
-   Description: „Rozlicza kampanie z marży po zwrotach i zestawia ją z ROAS. Nie wyłącza kampanii.” (limit 1000 znaków).

Zmiany zapisują się automatycznie. Na tym samym ekranie jest panel testowy.

## Krok 3. Wpisz instrukcje

Wklej do pola „Instructions” (limit 8000 znaków):

```
ROLA
Jesteś agentem kampanii w sklepie, który sprzedaje w sklepie internetowym, na marketplace
i przez porównywarkę cen. Rozliczasz kampanie z marży, nie z przychodu.

DANE (pliki w wiedzy agenta)
- kampanie.xlsx: kampania_id, kanał, termin, koszt_reklamy_pln, rabat_proc.
- zamowienia.xlsx: nr_zamowienia, kampania_id (puste = bez kampanii), wartosc_netto_pln,
  koszt_towaru_pln, prowizja_kanalu_pln, oplata_platnosci_pln, koszt_wysylki_pln.
- zwroty.xlsx: nr_zamowienia, wartosc_zwrotu_netto_pln, koszt_towaru_wraca_pln,
  koszt_obslugi_zwrotu_pln.

JAK LICZYSZ (zawsze w code interpreterze, na całych plikach)
1. Połącz zwroty z zamówieniami po nr_zamowienia. Data zwrotu nie ma znaczenia.
2. Dla każdej kampanii i dla grupy „bez kampanii” policz: zamówienia, zwroty (szt.),
   przychód netto, zwroty netto, koszt towaru po zwrotach (koszt towaru − koszt towaru,
   który wrócił), prowizje, płatności, wysyłkę, obsługę zwrotów, koszt reklamy.
3. Marża = przychód netto − zwroty netto − koszt towaru po zwrotach − prowizje − płatności
   − wysyłka − obsługa zwrotów − koszt reklamy.
4. Marża % = marża / (przychód netto − zwroty netto).
5. ROAS = przychód netto / koszt reklamy. Tak liczy panel reklamowy, przed zwrotami.

OZNACZENIA
- „rekord przychodu, słaba marża”: ROAS wyższy niż mediana ROAS kampanii, marża % niższa niż 10%.
- „na minusie”: marża poniżej zera.
- „do wzmocnienia”: kampania z najwyższą marżą %.
Przy każdej oznaczonej kampanii wypisz dwie największe pozycje kosztu (bez kosztu towaru;
zwroty netto też są pozycją kosztu). Gdy zwroty netto przekraczają 10% przychodu netto, podaj
produkt (indeks), który wraca najczęściej, z liczbą zwrotów i zwróconą wartością.

REKOMENDACJA
Napisz, co proponujesz wzmocnić, co ograniczyć, a co sprawdzić. Każde zdanie poprzyj liczbą
z tabeli. Przy każdej propozycji wskaż, kto decyduje: marketing (budżet, wyłączenie kampanii)
czy zarząd (kampania bez marży utrzymywana dla zasięgu).

ZASADY
- Niczego nie wyłączasz i nie zmieniasz. Proponujesz.
- Nie zgadujesz. Jeśli brakuje kolumny albo pliku, napisz, czego brakuje.
- Przy każdej sumie podaj liczbę wierszy, z której powstała.

FORMAT
Tabela kampanii (wszystkie pozycje kosztu, marża, marża %, ROAS), lista oznaczeń,
rekomendacja w punktach, na końcu plik Excel z tabelą do pobrania.
```

Instrukcja jest długa, bo Agent Builder nie ma osobnego miejsca na reguły obliczeń. Jawne progi pozwalają marketingowi je zmienić bez proszenia nikogo o „lepszy prompt”.

## Krok 4. Dodaj wiedzę jako wgrane pliki

W sekcji „Knowledge” wgraj z dysku trzy pliki XLSX. Nie podawaj linków do SharePoint ani OneDrive: code interpreter przetwarza tylko pliki wgrane do agenta albo dołączone do rozmowy, a plików znalezionych wyszukiwaniem nie dostaje. Agent zobaczy wtedy treść, ale nie policzy sum.

Sprawdź, czy obliczenia są włączone. Jedna strona dokumentacji mówi, że code interpreter jest w Agent Builderze zawsze włączony, inna wspomina przełącznik „Create documents, charts, and code”. Jeśli przełącznik jest widoczny, włącz go.

## Krok 5. Dodaj podpowiedzi i przetestuj

W „Starter Prompts” dodaj trzy podpowiedzi dla zespołu: „Rozlicz kampanie z kwietnia 2026”, „Która kampania ma rekordowy przychód i słabą marżę?”, „Pokaż zwroty kampanii KMP-02 według produktu”.

W panelu testowym wybierz pierwszą. Powinieneś zobaczyć, że agent uruchamia kod, a potem oddaje tabelę, oznaczenia, rekomendację i link do pliku Excel. **Pobierz plik od razu:** pliki z code interpretera istnieją tylko w trakcie sesji. Microsoft wymienia jednak wśród znanych problemów błąd generowania plików przez agenta; jeśli linku nie ma, poproś o tabelę w treści odpowiedzi.

## Sprawdź wynik na danych kontrolnych

Liczby policzyliśmy niezależnie z tych samych plików. Kwoty w złotych.

Kampania

Zamówienia / zwroty

Przychód netto

ROAS

Marża po wszystkim

Marża %

KMP-01 reklama w wyszukiwarce

140 / 4

23 639,34

3,48

5 095,46

22,2%

KMP-02 strefa promocji marketplace

310 / 50

79 133,66

22,61

827,93

1,3%

KMP-03 media społecznościowe

60 / 4

9 718,78

1,87

−275,68

−3,0%

KMP-04 porównywarka cen

95 / 5

30 741,50

7,50

4 504,65

15,4%

KMP-05 newsletter

70 / 3

8 197,98

13,66

3 274,39

41,9%

bez kampanii

340 / 22

72 941,94

—

21 729,16

31,8%

Pozycja kosztu

KMP-01

KMP-02

KMP-03

KMP-04

KMP-05

bez kampanii

Zwroty netto

686,19

15 999,42

389,43

1 543,92

384,14

4 604,10

Koszt towaru po zwrotach

9 955,00

43 170,00

3 827,00

19 150,00

3 547,00

37 370,00

Prowizje

0,00

10 706,31

0,00

0,00

0,00

5 032,28

Płatności

349,19

0,00

143,53

453,93

120,95

527,90

Wysyłka

681,50

4 030,00

362,50

899,00

217,50

3 282,50

Obsługa zwrotów

72,00

900,00

72,00

90,00

54,00

396,00

Reklama

6 800,00

3 500,00

5 200,00

4 100,00

600,00

0,00

Mediana ROAS pięciu kampanii to 7,50. Oznaczenia: KMP-02 „rekord przychodu, słaba marża” (najwyższy ROAS i najniższa dodatnia marża), KMP-03 „na minusie”, KMP-05 „do wzmocnienia”. Przy KMP-02 największe koszty poza towarem to zwroty i prowizje, a najczęściej wraca kosiarka elektryczna 40 cm (OGR-KOS-40). W rekomendacji agent powinien rozdzielić decyzje: ograniczenie albo zmianę warunków strefy promocji i wzmocnienie newslettera to sprawa marketingu, utrzymanie KMP-03 dla zasięgu — zarządu.

Jeśli ROAS się zgadza, a marża nie, agent najczęściej nie połączył zwrotów z zamówieniami. Jeśli nie zgadza się nic, sprawdź, czy w ogóle uruchomił kod.

## Krok z rzeczywistością

W połowie maja przychodzi nota korygująca do faktury za reklamę w mediach społecznościowych: koszt kwietnia to 4 200 zł, nie 5 200 zł. Otwórz `kampanie.xlsx`, w wierszu KMP-03 zmień `koszt_reklamy_pln` z 5200 na 4200, zapisz, usuń stary plik z sekcji „Knowledge” i wgraj nowy. Potem w nowej rozmowie zadaj to samo pytanie.

Powinieneś zobaczyć dla KMP-03 marżę **724,32 zł (7,8%)** i ROAS **2,31**. Oznaczenie „na minusie” znika. KMP-03 nie dostaje też oznaczenia „rekord przychodu, słaba marża”, bo jej ROAS jest nadal poniżej mediany 7,50. Pozostałe kampanie się nie zmieniają. Rekomendacja dla KMP-03 też powinna się zmienić: kampania przestaje być kandydatem do ograniczenia.

Tysiąc złotych korekty zmienił werdykt. Dlatego decyzję o kampanii podejmuje się na koszcie z faktury, a agent ma dostawać plik, który zespół aktualizuje, a nie liczbę wpisaną raz w instrukcję.

## Krok 6. Udostępnij i zdecyduj o automatyzacji

Nowy agent jest prywatny. Kliknij „Share” i nadaj rolę „Can chat” osobom z marketingu, a „Can edit” osobie odpowiedzialnej za instrukcje i pliki. Przełącznik „Org-wide sharing for chat access” daje dostęp całej organizacji, o ile administrator go nie ograniczył. Każdy odbiorca potrzebuje licencji obejmującej funkcje agenta, inaczej zobaczy błąd. Agenta można też zgłosić do katalogu organizacji; po zatwierdzeniu przez administratora trafia do sekcji „Built by your org” ([udostępnianie agentów](https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/agent-builder-share-manage-agents)).

Agent Builder nie tworzy akcji ani wyzwalaczy. Jeśli rozliczenie ma ruszać samo po nowym eksporcie, użyjcie „Copy to Copilot Studio”; wyzwalacze zdarzeń są tylko tam i mogą wpływać na rozliczenie licencyjne. Według komunikatu Microsoftu z 13.10.2026 (znamy go z lustra Message Center, nie z dokumentacji) Agent Builder ma dostać zaplanowane prompty, działające tylko dla twórcy agenta, z wdrożeniem od końca października do końca listopada 2026. To zapowiedź: zanim na niej oprzecie proces, sprawdźcie, czy funkcja jest już u Was.

## Typowe problemy

Objaw

Przyczyna

Co zrobić

Nie da się dodać pliku CSV

CSV nie ma na liście typów wiedzy

użyj wersji XLSX z jednym arkuszem

Agent odpowiada ogólnikami i nie liczy

plik jest podpięty z SharePoint, więc code interpreter go nie dostaje

wgraj XLSX do agenta albo dołącz plik w rozmowie

Plik Excel z wynikiem zniknął

pliki z code interpretera istnieją tylko w trakcie sesji

pobieraj plik od razu po wygenerowaniu

Kolega widzi błąd po otwarciu agenta

brak licencji obejmującej funkcje agenta

licencja Microsoft 365 Copilot albo pay-as-you-go

Udostępnienie się nie udaje

wybrano grupę dystrybucyjną

wybierz grupę zabezpieczeń albo konkretne osoby

Brak opcji „uruchom przy nowym pliku”

Agent Builder nie ma wyzwalaczy

„Copy to Copilot Studio”

## Co dalej

Na własnych danych potrzebujecie trzech tabel w XLSX, każda w jednym arkuszu z nagłówkami w pierwszym wierszu. Zamówienia z platformy sklepowej, marketplace albo integratora: numer, data, kanał, oznaczenie kampanii, wartość netto, prowizja, opłata za płatność, wysyłka, a z ERP koszt towaru. Zwroty: numer zamówienia, wartość, czy towar wrócił do sprzedaży, koszt obsługi. Kampanie: identyfikator i koszt reklamy z faktury za miesiąc.

Mierzcie to, co zmienia decyzje: po ilu dniach od końca miesiąca marketing zna marżę każdej kampanii, jaka część budżetu poszła na kampanie z marżą ujemną, ile kampanii zmieniło werdykt po korekcie kosztów. Liczba rozliczeń wygenerowanych przez agenta nic Wam nie powie. Na marżę wpływają też cena, asortyment i rynek, więc porównujcie miesiąc do miesiąca, a nie z obietnicami.

Ten sam agent w innych narzędziach:

-   [Agent kampanii w Claude](https://majchrzycki.com/blog/agent-kampanii-w-claude-krok-po-kroku)
-   [Agent kampanii w ChatGPT](https://majchrzycki.com/blog/agent-kampanii-w-chatgpt-krok-po-kroku)
-   [Agent kampanii w Gemini](https://majchrzycki.com/blog/agent-kampanii-w-gemini-krok-po-kroku)

Kartę agenta kampanii z granicą decyzji i miernikami opisujemy we wpisie o [kampanii liczonej po marży, a promocji po prowizji](https://majchrzycki.com/blog/kampania-po-marzy-promocja-po-prowizji#agent-kampanii).

-   Handel wielokanałowy
-   Microsoft 365 Copilot
-   Agent AI
-   Marża kampanii

## Kampania to dopiero pierwszy etap drogi do marży

Darmowy poradnik „Handel wielokanałowy jako jeden system” rozkłada dziesięć etapów od kliknięcia do rozliczonej marży i pokazuje, gdzie pracuje każdy z dwunastu agentów.

[Pobierz darmowy poradnik](https://majchrzycki.com/transformacja-agenci-ai/handel-wielokanalowy#pobierz)

FAQ

## Najczęstsze pytania

Gdzie trafiają pliki, które wgrywam do agenta?

Według dokumentacji Microsoftu pliki wgrane do agenta są przechowywane w domyślnej geografii Waszego tenanta, a prompty, odpowiedzi i dane z Microsoft Graph nie służą do trenowania modeli bazowych. Do rozliczenia kampanii i tak nie potrzebujecie danych osobowych klientów: wystarczą numery zamówień i kwoty.

Czy mogę zamiast wgrywać pliki wskazać arkusz na SharePoint?

Do samego wyszukiwania tak, do liczenia nie. Code interpreter przetwarza tylko pliki wgrane do agenta albo dołączone do rozmowy; plików znalezionych wyszukiwaniem w SharePoint nie dostaje. Agent, który ma sumować tysiąc wierszy, potrzebuje pliku wgranego.

## Czytaj dalej

-   [Agent kampanii w Claude: rekord przychodu czy rekord marży?](https://majchrzycki.com/blog/agent-kampanii-w-claude-krok-po-kroku)
-   [Agent kampanii w ChatGPT: która kampania naprawdę zarabia?](https://majchrzycki.com/blog/agent-kampanii-w-chatgpt-krok-po-kroku)
-   [Agent kampanii w Gemini, skill (Gem): rekord czy zysk?](https://majchrzycki.com/blog/agent-kampanii-w-gemini-krok-po-kroku)
-   [Skill agenta kampanii: marża po zwrotach, nie ROAS](https://majchrzycki.com/blog/skill-agent-kampanii-handel-wielokanalowy)