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