1from apify_client import ApifyClient
2
3
4
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7
8run_input = {
9 "rows": [
10 {
11 "id": "001",
12 "campaignId": "C001",
13 "channel": "search",
14 "url": "https://shop.example.test/?utm_source=google&utm_medium=cpc&utm_campaign=autumn",
15 },
16 {
17 "id": "002",
18 "campaignId": "C001",
19 "channel": "search",
20 "url": "https://shop.example.test/?utm_source=Google&utm_medium=cpc&utm_campaign=autumn",
21 },
22 {
23 "id": "003",
24 "channel": "search",
25 "url": "https://shop.example.test/?utm_source=google&utm_source=bing&utm_medium=cpc&utm_campaign=autumn",
26 },
27 {
28 "id": "004",
29 "campaignId": "C002",
30 "channel": "email",
31 "url": "https://shop.example.test/?utm_source=newsletter&utm_medium=email&utm_campaign=spring",
32 },
33 {
34 "id": "005",
35 "campaignId": "C002",
36 "channel": "email",
37 "url": "https://shop.example.test/?utm_source=newsletter&utm_medium=email&utm_campaign=Spring",
38 },
39 {
40 "id": "006",
41 "campaignId": "C003",
42 "channel": "ads",
43 "url": "https://shop.example.test/?utm_source=google&utm_medium=cpc&utm_campaign={{campaign.name}}&utm_term={Keyword}",
44 },
45 {
46 "id": "007",
47 "url": "https://shop.example.test/?utm_source=google&utm_medium=cpc&utm_campaign=bad%GG",
48 },
49 {
50 "id": "008",
51 "url": "https://shop.example.test/?utm_source=newsletter#utm_medium=email&utm_campaign=summer",
52 },
53 {
54 "id": "009",
55 "url": "https://shop.example.test/?utm_source=google&utm_medium=cpc&utm_campaign=summer&utm_content=a%26b&utm_term=a+b&sig=A%2bb%2F%3d&flag=#keep",
56 },
57 {
58 "id": "=HYPERLINK(\"https://example.test\")",
59 "channel": "=1+1",
60 "url": "https://shop.example.test/?utm_source=newsletter&utm_medium=email&utm_campaign=&utm_content={unknown}",
61 },
62 ],
63 "policy": {
64 "requiredParameters": [
65 "utm_source",
66 "utm_medium",
67 "utm_campaign",
68 ],
69 "allowedValues": {
70 "utm_source": [
71 "google",
72 "newsletter",
73 ],
74 "utm_medium": [
75 "cpc",
76 "email",
77 ],
78 },
79 "allowedSourceMediumPairs": [
80 {
81 "source": "google",
82 "medium": "cpc",
83 },
84 {
85 "source": "newsletter",
86 "medium": "email",
87 },
88 ],
89 "casePolicy": "lowercase",
90 "aliases": { "utm_source": { "Google": "google" } },
91 "allowedMacros": [
92 "{{campaign.name}}",
93 "{Keyword}",
94 ],
95 },
96}
97
98
99run = client.actor("h_murdock/campaign-utm-policy-audit").call(run_input=run_input)
100
101
102print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
103for item in client.dataset(run.default_dataset_id).iterate_items():
104 print(item)
105
106