Meeting Title: Help with Katalys Date: 2025-10-16 Meeting participants: Zoran Selinger, Henry Zhao
WEBVTT
1 00:04:37.970 ⇒ 00:04:39.260 Zoran Selinger: Hi, Hannity?
2 00:04:41.760 ⇒ 00:04:43.080 Henry Zhao: Hey, Zaron, how are you doing?
3 00:04:43.680 ⇒ 00:04:45.900 Zoran Selinger: Yeah, good, good.
4 00:04:46.610 ⇒ 00:04:47.570 Zoran Selinger: How are you?
5 00:04:49.860 ⇒ 00:04:50.889 Henry Zhao: Good, thank you.
6 00:04:52.190 ⇒ 00:04:53.150 Henry Zhao: Yeah, so…
7 00:04:53.150 ⇒ 00:04:57.459 Zoran Selinger: stuff, I was reading, reading up about it. I mean, that makes sense.
8 00:04:58.550 ⇒ 00:05:03.219 Henry Zhao: Yeah, I just wanted your help, because I’m not good at learning how to code things,
9 00:05:03.990 ⇒ 00:05:06.030 Henry Zhao: See if you can maybe figure it out.
10 00:05:07.560 ⇒ 00:05:12.929 Zoran Selinger: Okay, are we decided on the… on the segment?
11 00:05:13.950 ⇒ 00:05:19.609 Henry Zhao: Either segment, or if you know of another tool that can run something like this.
12 00:05:20.010 ⇒ 00:05:30.020 Zoran Selinger: I mean, to us, it’s important that we… we… the trigger is… is important, and obviously.
13 00:05:30.020 ⇒ 00:05:30.670 Henry Zhao: Okay.
14 00:05:30.670 ⇒ 00:05:38.720 Zoran Selinger: So we can, you know, fire a request at an appropriate time.
15 00:05:39.310 ⇒ 00:05:39.980 Henry Zhao: Wouldn’t that?
16 00:05:41.100 ⇒ 00:05:43.810 Henry Zhao: So, yeah, that’s what I’m trying to do.
17 00:05:50.610 ⇒ 00:05:53.939 Henry Zhao: So the, the trigger’s okay, so it’s sources…
18 00:05:54.380 ⇒ 00:05:56.619 Henry Zhao: As you know, it’s this order updated.
19 00:05:59.240 ⇒ 00:06:02.099 Henry Zhao: And we have event name order updated.
20 00:06:03.130 ⇒ 00:06:06.010 Henry Zhao: Where… we are sending…
21 00:06:06.910 ⇒ 00:06:18.070 Henry Zhao: all of these different events, right? So, we just need body data event code to either be sent to questionnaire, questionnaire completed, or sent to pharmacy, okay?
22 00:06:18.170 ⇒ 00:06:24.049 Henry Zhao: So we’re sending it, so I was thinking we’re gonna use maybe a function and segment to send it.
23 00:06:24.920 ⇒ 00:06:33.789 Zoran Selinger: Sure. Is, so those two statuses that you’re looking for, are there either or, or…
24 00:06:33.790 ⇒ 00:06:34.610 Henry Zhao: Or, yeah.
25 00:06:35.010 ⇒ 00:06:36.220 Zoran Selinger: Sorry?
26 00:06:36.460 ⇒ 00:06:37.290 Henry Zhao: Either or, yeah.
27 00:06:37.290 ⇒ 00:06:39.039 Zoran Selinger: Okay, cool, cool.
28 00:06:39.040 ⇒ 00:06:42.360 Henry Zhao: So I’ve tried using, like, ChatGPT to figure out how I would send it.
29 00:06:42.690 ⇒ 00:06:49.079 Henry Zhao: So… I have a catalyst SegmentDestination function, which just follows what they said here,
30 00:06:53.220 ⇒ 00:06:56.909 Henry Zhao: Yeah. Order status reporting, right? So I just copy and pasted this TypeScript.
31 00:06:56.910 ⇒ 00:06:57.690 Zoran Selinger: Sure.
32 00:06:57.690 ⇒ 00:07:00.010 Henry Zhao: I don’t know PHP at all, so I thought.
33 00:07:00.010 ⇒ 00:07:01.620 Zoran Selinger: No, me neither.
34 00:07:02.180 ⇒ 00:07:06.949 Henry Zhao: Yeah, so I just like TypeScript. I don’t know TypeScript either, but it’s kind of like JavaScript, right? Not JavaScript.
35 00:07:06.950 ⇒ 00:07:08.650 Zoran Selinger: Yes, yes.
36 00:07:08.650 ⇒ 00:07:09.220 Henry Zhao: Whatever.
37 00:07:09.220 ⇒ 00:07:12.700 Zoran Selinger: Not a big fan, but it’s fine.
38 00:07:13.300 ⇒ 00:07:18.660 Henry Zhao: I replaced the Catalyst site ID, so I think that’s the site ID, because I go to Integrations here…
39 00:07:18.890 ⇒ 00:07:20.789 Henry Zhao: This is the tracking ID, right?
40 00:07:21.400 ⇒ 00:07:22.970 Zoran Selinger: Yeah?
41 00:07:23.250 ⇒ 00:07:26.680 Henry Zhao: I didn’t expect like we did yesterday, and I also found that wasn’t what his was.
42 00:07:26.890 ⇒ 00:07:37.589 Henry Zhao: So then I did all the async function, order ID string, although I don’t know if this order ID should be order underscore ID, or if this should be underscore ID, because ours is order underscore ID.
43 00:07:38.620 ⇒ 00:07:42.510 Henry Zhao: As you know, so if I go to BigQuery…
44 00:07:43.270 ⇒ 00:07:46.959 Henry Zhao: And luckily, all of our order IDs are underscore… order underscore ID, so I don’t.
45 00:07:46.960 ⇒ 00:07:52.080 Zoran Selinger: I don’t know what’s coming into the function, which data is coming into the function.
46 00:07:52.080 ⇒ 00:07:55.059 Henry Zhao: Well, it would be the segment events that I just showed you, which…
47 00:07:55.520 ⇒ 00:07:57.960 Henry Zhao: Is order updated, which is also order ID.
48 00:07:58.890 ⇒ 00:08:01.029 Henry Zhao: So if you just take a look at Webflow…
49 00:08:02.200 ⇒ 00:08:05.139 Henry Zhao: Well, no, we would want just Basque Order Updated.
50 00:08:07.930 ⇒ 00:08:09.250 Henry Zhao: Order updated.
51 00:08:10.030 ⇒ 00:08:11.440 Henry Zhao: It is…
52 00:08:18.650 ⇒ 00:08:22.069 Henry Zhao: Oh, it might be this body data order ID, actually.
53 00:08:24.190 ⇒ 00:08:25.460 Henry Zhao: So maybe that’s the issue.
54 00:08:26.110 ⇒ 00:08:27.190 Henry Zhao: No.
55 00:08:28.030 ⇒ 00:08:29.729 Henry Zhao: Is that the right ID, that was?
56 00:08:30.240 ⇒ 00:08:33.170 Henry Zhao: I think I want the order ID, which is, like, a bunch of… a few numbers.
57 00:08:34.530 ⇒ 00:08:36.050 Henry Zhao: No, that’s the user ID, I think.
58 00:08:43.140 ⇒ 00:08:46.280 Henry Zhao: It doesn’t matter, later we can do this, like, you can use a sample event.
59 00:08:46.510 ⇒ 00:08:53.700 Henry Zhao: I can do order updated… Just pick anyone, I think.
60 00:08:55.690 ⇒ 00:08:57.180 Henry Zhao: Matthew, what does this look like?
61 00:08:57.600 ⇒ 00:09:00.990 Zoran Selinger: Yeah, order updated should be… that…
62 00:09:01.160 ⇒ 00:09:02.990 Henry Zhao: Okay, this one’s fine. Use this one.
63 00:09:05.570 ⇒ 00:09:07.860 Zoran Selinger: Okay, cool. So based on that…
64 00:09:07.860 ⇒ 00:09:10.550 Henry Zhao: This body.data.orderID, right?
65 00:09:11.190 ⇒ 00:09:13.219 Henry Zhao: I don’t think there’s any other order ID.
66 00:09:18.880 ⇒ 00:09:22.780 Henry Zhao: Yeah, I think it’s body.data.orgorderID. So I don’t know if I replaced this one.
67 00:09:22.780 ⇒ 00:09:24.940 Zoran Selinger: No, no, no, so leave that there.
68 00:09:25.840 ⇒ 00:09:27.740 Zoran Selinger: That is fine.
69 00:09:28.750 ⇒ 00:09:33.030 Henry Zhao: So promise void is fine, site ID uses this variable, so I think that’s fine.
70 00:09:33.030 ⇒ 00:09:34.030 Zoran Selinger: Exactly.
71 00:09:34.270 ⇒ 00:09:41.109 Henry Zhao: Pause response, this is the correct URL, so I checked that. Also, method post should be fine, this is fine, this is fine.
72 00:09:41.300 ⇒ 00:09:45.290 Henry Zhao: This is from ChatGBT, but I think it should be fine, it just is an error message.
73 00:09:45.510 ⇒ 00:09:48.259 Henry Zhao: Yeah. I feel like the book should be okay, also.
74 00:09:48.260 ⇒ 00:09:48.970 Zoran Selinger: Cool.
75 00:09:49.840 ⇒ 00:09:52.580 Henry Zhao: I don’t know if I need a semicolon here, but I don’t think so.
76 00:09:53.050 ⇒ 00:09:57.669 Zoran Selinger: What? No, no, no, should be fine. Okay, so…
77 00:09:57.670 ⇒ 00:10:09.139 Henry Zhao: And I need the actual incoming events, so I did… this is from ChatGPT also, so export async function on track event any where the event codes are in one of these. Okay, so I’m sending…
78 00:10:09.140 ⇒ 00:10:16.540 Zoran Selinger: we, can we look at… Okay, and then event…
79 00:10:16.750 ⇒ 00:10:17.320 Henry Zhao: So don’t.
80 00:10:17.320 ⇒ 00:10:24.549 Zoran Selinger: Do we see that in the payload? Do we have the… so we have integrations, we have properties.
81 00:10:25.050 ⇒ 00:10:25.760 Henry Zhao: Right.
82 00:10:26.050 ⇒ 00:10:33.459 Zoran Selinger: So, yeah, I’m interested in the input now, in the shape of the input, so let’s scroll that.
83 00:10:34.400 ⇒ 00:10:35.800 Henry Zhao: Okay, so how do I crawl that?
84 00:10:35.800 ⇒ 00:10:38.930 Zoran Selinger: No, no, so, just the sample that you have on the side.
85 00:10:40.440 ⇒ 00:10:46.599 Zoran Selinger: An example, yeah, so let’s see, do we have… yes, event.event.
86 00:10:46.900 ⇒ 00:10:48.420 Henry Zhao: His order updated, right?
87 00:10:49.390 ⇒ 00:10:51.819 Zoran Selinger: Equals to order updated, good.
88 00:10:52.460 ⇒ 00:10:53.230 Henry Zhao: And then eventually…
89 00:10:53.230 ⇒ 00:10:55.170 Zoran Selinger: Mint Codes, where is that?
90 00:10:55.640 ⇒ 00:10:57.610 Henry Zhao: This is my variable.includes.
91 00:10:57.610 ⇒ 00:11:01.610 Zoran Selinger: Includes event… Properties, data.
92 00:11:01.610 ⇒ 00:11:02.920 Henry Zhao: No, everybody.
93 00:11:03.330 ⇒ 00:11:05.180 Henry Zhao: Body.dataevenco, right?
94 00:11:05.180 ⇒ 00:11:07.879 Zoran Selinger: Let’s… let’s check that. Let’s scroll up.
95 00:11:10.290 ⇒ 00:11:11.790 Henry Zhao: So, it’s body…
96 00:11:11.790 ⇒ 00:11:15.250 Zoran Selinger: No, oh, so first is properties, then body.
97 00:11:16.380 ⇒ 00:11:17.959 Henry Zhao: Then body, then data.
98 00:11:18.330 ⇒ 00:11:19.230 Zoran Selinger: And then…
99 00:11:21.440 ⇒ 00:11:22.810 Henry Zhao: And event code, right?
100 00:11:23.060 ⇒ 00:11:28.259 Zoran Selinger: And then, event code. Yeah, that looks fine. Yes?
101 00:11:28.260 ⇒ 00:11:29.130 Henry Zhao: Right?
102 00:11:29.130 ⇒ 00:11:35.910 Zoran Selinger: Yeah. Let’s pick up the order ID, it’s under event, Properties.
103 00:11:36.280 ⇒ 00:11:37.690 Henry Zhao: Body.data also.
104 00:11:38.360 ⇒ 00:11:39.010 Zoran Selinger: Yep.
105 00:11:40.650 ⇒ 00:11:44.220 Henry Zhao: zodi.data dots order ID.
106 00:11:44.530 ⇒ 00:11:46.060 Zoran Selinger: Yes, cool.
107 00:11:46.420 ⇒ 00:11:56.299 Zoran Selinger: That looks, fine, and then order status equals… is paid now? I wish… is the other one…
108 00:11:56.660 ⇒ 00:11:59.150 Henry Zhao: That’s what we’re gonna update. We want to set the order status to paid.
109 00:11:59.860 ⇒ 00:12:02.070 Henry Zhao: And then all of these I don’t think are relevant.
110 00:12:02.920 ⇒ 00:12:03.690 Zoran Selinger: Sorry?
111 00:12:03.970 ⇒ 00:12:05.360 Henry Zhao: These, I don’t think, are relevant.
112 00:12:05.820 ⇒ 00:12:08.560 Zoran Selinger: Yeah, yeah, I think so, too.
113 00:12:09.570 ⇒ 00:12:13.540 Henry Zhao: And then this one is fine, I think. It’s just awaiting the update catalyst order.
114 00:12:13.540 ⇒ 00:12:16.530 Zoran Selinger: Yeah, so that looks, okay.
115 00:12:16.530 ⇒ 00:12:21.160 Henry Zhao: So I run a test, and I get this error. I don’t know what this means. Cannot read properties of undefined reading…
116 00:12:22.430 ⇒ 00:12:24.290 Zoran Selinger: It doesn’t show…
117 00:12:24.290 ⇒ 00:12:25.600 Henry Zhao: Oh, there’s none.
118 00:12:26.610 ⇒ 00:12:33.950 Zoran Selinger: I don’t like that this is… It’s…
119 00:12:36.960 ⇒ 00:12:40.710 Zoran Selinger: You see, these types are underscored? I don’t like that.
120 00:12:44.590 ⇒ 00:12:47.630 Zoran Selinger: It’s like it doesn’t support… let’s… okay, let’s cover.
121 00:12:49.000 ⇒ 00:12:50.550 Henry Zhao: This is a TypeScript file, right?
122 00:12:51.890 ⇒ 00:12:55.200 Henry Zhao: Unless… unless destination functions don’t allow TypeScript files.
123 00:13:06.310 ⇒ 00:13:07.060 Henry Zhao: What is this?
124 00:13:07.060 ⇒ 00:13:10.670 Zoran Selinger: So this is not even… this is not saved anywhere, right?
125 00:13:10.670 ⇒ 00:13:11.470 Henry Zhao: No.
126 00:13:14.490 ⇒ 00:13:16.050 Zoran Selinger: So what language is this?
127 00:13:21.890 ⇒ 00:13:24.349 Henry Zhao: Is the JavaScript.
128 00:13:29.210 ⇒ 00:13:31.199 Henry Zhao: Is this the… is this explaining the error?
129 00:13:31.680 ⇒ 00:13:36.439 Zoran Selinger: No, no, no, not at all. Not at all. I wanna figure out,
130 00:13:37.000 ⇒ 00:13:40.489 Zoran Selinger: So, it says that this is allowed in…
131 00:13:42.470 ⇒ 00:13:48.020 Zoran Selinger: Right destination function. Let’s go into the documentation and just check whether, whether if it’s…
132 00:13:48.680 ⇒ 00:13:55.899 Zoran Selinger: I mean, that should be the type of JavaScript, right? So I don’t know why it wouldn’t be allowed. Oh, no, I mean, it wouldn’t always…
133 00:14:02.720 ⇒ 00:14:06.070 Zoran Selinger: So this is just pure JavaScript.
134 00:14:06.390 ⇒ 00:14:08.999 Zoran Selinger: Stay there, stay there, stay there.
135 00:14:09.660 ⇒ 00:14:11.259 Zoran Selinger: Runtime and appendices…
136 00:14:17.940 ⇒ 00:14:23.630 Zoran Selinger: Yeah, this is… yeah, looks like we cannot use… TypeScript.
137 00:14:24.350 ⇒ 00:14:25.380 Henry Zhao: TypeScript?
138 00:14:25.380 ⇒ 00:14:26.090 Zoran Selinger: Yeah.
139 00:14:26.770 ⇒ 00:14:34.300 Zoran Selinger: So if we… if we ask JGPT to rewrite into just JavaScript, we should be okay.
140 00:14:34.550 ⇒ 00:14:37.379 Henry Zhao: So, Catalyst said we have to use the TypeScript or the PHP.
141 00:14:37.850 ⇒ 00:14:41.690 Henry Zhao: They don’t want us using JavaScript, unless we’re sending it directly from the thank you page.
142 00:14:43.290 ⇒ 00:14:46.090 Henry Zhao: That doesn’t matter to them.
143 00:14:46.610 ⇒ 00:14:47.540 Zoran Selinger: Really?
144 00:14:48.380 ⇒ 00:14:54.160 Zoran Selinger: They won’t see the difference on their, on their end at all. They just see the request.
145 00:14:55.460 ⇒ 00:14:56.110 Henry Zhao: Okay.
146 00:14:56.430 ⇒ 00:15:01.080 Zoran Selinger: Yeah, so don’t, don’t worry about it. They don’t… they won’t see a difference.
147 00:15:01.250 ⇒ 00:15:03.290 Henry Zhao: Don’t do this in ChatGPT or Cursor.
148 00:15:04.140 ⇒ 00:15:09.020 Zoran Selinger: do whatever you have opened already. It’s fine.
149 00:15:09.130 ⇒ 00:15:09.790 Zoran Selinger: Yeah.
150 00:15:24.300 ⇒ 00:15:26.770 Henry Zhao: And I’m learning a lot from you on this, too, so thank you.
151 00:15:30.930 ⇒ 00:15:32.230 Henry Zhao: Okay.
152 00:15:34.400 ⇒ 00:15:38.669 Zoran Selinger: Yeah, so they won’t see the difference at all on their side on this.
153 00:15:38.670 ⇒ 00:15:39.469 Henry Zhao: Is that right?
154 00:15:41.690 ⇒ 00:15:48.890 Zoran Selinger: And you end prop… I mean, yeah, it’s a secure, secure way to do it.
155 00:15:48.890 ⇒ 00:15:51.530 Henry Zhao: Let’s at least test, right? We can at least test it.
156 00:15:51.530 ⇒ 00:15:54.050 Zoran Selinger: Yeah, yeah, yeah, no, that’ll be fine.
157 00:15:55.010 ⇒ 00:15:59.520 Zoran Selinger: Okay, let’s just quickly scroll. Okay, sure, go, Turan, go…
158 00:15:59.740 ⇒ 00:16:02.449 Henry Zhao: It still says, cannot read properties of undefined reading line.
159 00:16:03.830 ⇒ 00:16:04.510 Zoran Selinger: What?
160 00:16:06.580 ⇒ 00:16:08.969 Henry Zhao: I’m trying this in a segment.
161 00:16:09.690 ⇒ 00:16:11.880 Henry Zhao: destination function.
162 00:16:12.220 ⇒ 00:16:16.790 Henry Zhao: But get the error… But when testing…
163 00:16:16.790 ⇒ 00:16:19.719 Zoran Selinger: Let me get into the documentation a little bit.
164 00:16:20.770 ⇒ 00:16:23.060 Henry Zhao: We’ll let ChatGPT also get into the documentation.
165 00:16:23.190 ⇒ 00:16:27.940 Zoran Selinger: Segment, destination… Option.
166 00:16:30.920 ⇒ 00:16:32.849 Henry Zhao: Of course, it exists for the test payload I used?
167 00:17:01.640 ⇒ 00:17:03.460 Zoran Selinger: Function segment…
168 00:17:34.480 ⇒ 00:17:38.479 Zoran Selinger: Functions, new functions, select destination as the function, okay.
169 00:17:50.100 ⇒ 00:18:01.930 Zoran Selinger: The default source code template includes handlers for all event types. You don’t need to implement all of them, just use the ones you need, and skip the ones you don’t. Destination ones can
170 00:18:02.140 ⇒ 00:18:13.979 Zoran Selinger: define handlers for each message type in segment spec. So, we have on identify, on track, on page, on screen, on group, on alias, on delete, or on batch.
171 00:18:14.690 ⇒ 00:18:16.469 Henry Zhao: So I think we don’t want any of this…
172 00:18:17.170 ⇒ 00:18:19.760 Henry Zhao: console.log, I think that’s what’s maybe throwing it off.
173 00:18:22.310 ⇒ 00:18:31.699 Zoran Selinger: Don’t remove anything in the else, because that… you must change then the whole try, block.
174 00:18:32.860 ⇒ 00:18:35.569 Zoran Selinger: Well, sorry, the Khalif block.
175 00:18:36.420 ⇒ 00:18:37.470 Henry Zhao: Wife block.
176 00:18:39.360 ⇒ 00:18:41.649 Zoran Selinger: Fetch, not fetch package.
177 00:18:45.990 ⇒ 00:18:49.109 Zoran Selinger: On a group, on a page, on Alias, on track.
178 00:18:52.560 ⇒ 00:18:55.820 Henry Zhao: And this is a good example, because this is questionnaire completed, so I don’t even need to…
179 00:18:57.520 ⇒ 00:18:59.159 Zoran Selinger: Yeah, yeah,
180 00:19:00.120 ⇒ 00:19:08.650 Zoran Selinger: I’m trying to figure out the following pins and style on the function development. Do we have…
181 00:19:12.010 ⇒ 00:19:15.150 Zoran Selinger: So, we are sending a wait fetch.
182 00:19:17.970 ⇒ 00:19:20.099 Zoran Selinger: Yeah, so that’s not fetch.
183 00:19:30.130 ⇒ 00:19:31.589 Zoran Selinger: Yeah, it just should be…
184 00:19:32.570 ⇒ 00:19:37.829 Henry Zhao: I think it’s not an issue with our code, because no matter what I’m putting in, I’m getting… I’m getting that same error.
185 00:19:38.350 ⇒ 00:19:40.419 Zoran Selinger: Yeah, let’s, let’s…
186 00:19:43.720 ⇒ 00:19:44.720 Zoran Selinger: Okay.
187 00:19:46.160 ⇒ 00:19:50.299 Henry Zhao: Like, no matter what I do, Oh, never mind.
188 00:19:57.060 ⇒ 00:19:59.009 Henry Zhao: So this is what it’s supposed to look like, alright?
189 00:19:59.010 ⇒ 00:20:03.850 Zoran Selinger: not supported. Okay, let’s, we have to choose.
190 00:20:05.610 ⇒ 00:20:09.569 Zoran Selinger: Between, a few functions.
191 00:20:10.040 ⇒ 00:20:10.720 Henry Zhao: Okay.
192 00:20:11.580 ⇒ 00:20:14.639 Zoran Selinger: And we don’t have to, export default.
193 00:20:14.770 ⇒ 00:20:23.440 Zoran Selinger: So, listen, we have… On the… based on… go to the documentation, destination functions.
194 00:20:24.790 ⇒ 00:20:27.040 Zoran Selinger: And just scroll down a little bit.
195 00:20:27.690 ⇒ 00:20:35.079 Zoran Selinger: You see those? Yes, there. So you see those… so our function that runs has to be named one of these.
196 00:20:39.190 ⇒ 00:20:40.089 Henry Zhao: on track.
197 00:20:42.560 ⇒ 00:20:43.360 Henry Zhao: I thought I had that.
198 00:20:43.360 ⇒ 00:20:47.269 Zoran Selinger: See, that should be a custom event, right?
199 00:20:47.290 ⇒ 00:20:48.650 Henry Zhao: On track here.
200 00:20:51.870 ⇒ 00:20:55.519 Zoran Selinger: Yeah, let’s, let’s lose the export there.
201 00:20:57.090 ⇒ 00:21:00.179 Zoran Selinger: Let’s try that and lose the export.
202 00:21:00.520 ⇒ 00:21:04.879 Zoran Selinger: No, so, I mean, you can copy the whole code, and then we’ll…
203 00:21:05.260 ⇒ 00:21:06.020 Henry Zhao: Okay.
204 00:21:07.470 ⇒ 00:21:09.440 Zoran Selinger: Remove the export.
205 00:21:10.010 ⇒ 00:21:13.070 Zoran Selinger: Because that’s not what’s in examples.
206 00:21:13.450 ⇒ 00:21:16.349 Zoran Selinger: Just having a sync function.
207 00:21:17.180 ⇒ 00:21:18.430 Henry Zhao: Oh, that actually is working.
208 00:21:21.620 ⇒ 00:21:23.690 Henry Zhao: I literally just got rid of export, and it’s working.
209 00:21:23.690 ⇒ 00:21:24.430 Zoran Selinger: Yep.
210 00:21:24.430 ⇒ 00:21:25.400 Henry Zhao: Oh, whoa!
211 00:21:26.390 ⇒ 00:21:27.989 Henry Zhao: Zaron, are you a magician?
212 00:21:27.990 ⇒ 00:21:31.229 Zoran Selinger: Yeah, so.
213 00:21:31.230 ⇒ 00:21:32.229 Henry Zhao: Does that work?
214 00:21:32.470 ⇒ 00:21:33.240 Zoran Selinger: Yeah.
215 00:21:33.360 ⇒ 00:21:43.880 Zoran Selinger: We have a successful output, and we said that… do we have anything else in these logs down there?
216 00:21:43.880 ⇒ 00:21:48.119 Henry Zhao: We’re only doing console debug, and console error, and…
217 00:21:48.670 ⇒ 00:21:53.630 Zoran Selinger: And the status, duration, and waterfall there on the bottom?
218 00:21:54.070 ⇒ 00:21:54.630 Henry Zhao: No, nothing.
219 00:21:54.630 ⇒ 00:21:56.240 Zoran Selinger: Nothing?
220 00:21:56.240 ⇒ 00:21:56.750 Henry Zhao: Yeah.
221 00:21:57.060 ⇒ 00:21:59.020 Zoran Selinger: Okay,
222 00:22:02.530 ⇒ 00:22:03.890 Zoran Selinger: Yeah, I mean…
223 00:22:04.720 ⇒ 00:22:05.839 Henry Zhao: It looks like it works.
224 00:22:06.670 ⇒ 00:22:11.769 Zoran Selinger: This society… Or is that a site ID?
225 00:22:11.960 ⇒ 00:22:13.580 Zoran Selinger: And… yeah.
226 00:22:13.580 ⇒ 00:22:16.300 Henry Zhao: Check what the order ID looks like, one second, real quick.
227 00:22:18.490 ⇒ 00:22:19.569 Henry Zhao: Just making sure.
228 00:22:19.720 ⇒ 00:22:24.649 Henry Zhao: No, it’s PI underscore something. So we’re almost there, almost there, we’re almost there, we’re almost there.
229 00:22:25.030 ⇒ 00:22:27.100 Henry Zhao: We need to figure out what this one is.
230 00:22:28.510 ⇒ 00:22:29.890 Henry Zhao: I think it’s transaction ID.
231 00:22:32.730 ⇒ 00:22:39.920 Zoran Selinger: Yeah, Norbin has the same format, yes. Norbin uses also the one with PI as an order ID.
232 00:22:41.980 ⇒ 00:22:44.400 Henry Zhao: Better have it. I’m gonna be so annoyed if we don’t.
233 00:22:55.830 ⇒ 00:22:57.370 Henry Zhao: I don’t think we have the PI one.
234 00:22:58.240 ⇒ 00:22:59.310 Zoran Selinger: How come?
235 00:23:05.930 ⇒ 00:23:10.350 Zoran Selinger: Let me just quickly check what’s in GTM for segment.
236 00:23:29.960 ⇒ 00:23:33.010 Henry Zhao: It’s transaction ID for order completed, but I don’t know why it’s not…
237 00:23:33.490 ⇒ 00:23:36.390 Henry Zhao: update… for the order updated, there’s no transaction ID.
238 00:24:00.480 ⇒ 00:24:03.799 Zoran Selinger: So I have the sign-up, I have the order complete.
239 00:24:06.780 ⇒ 00:24:18.910 Zoran Selinger: Order ID, yeah, as in… transaction ID from… from data layer. Let me see… what it takes.
240 00:24:23.150 ⇒ 00:24:24.490 Zoran Selinger: Transaction.
241 00:24:26.210 ⇒ 00:24:30.940 Zoran Selinger: ID… It’s from the e-commerce.
242 00:24:35.270 ⇒ 00:24:38.730 Zoran Selinger: So the bus has… e-commerce…
243 00:24:43.070 ⇒ 00:24:44.679 Zoran Selinger: Data layer setup.
244 00:24:47.740 ⇒ 00:24:50.210 Zoran Selinger: That is so weird.
245 00:24:51.070 ⇒ 00:24:57.340 Zoran Selinger: Why would that table not have… a transaction ID.
246 00:25:01.840 ⇒ 00:25:03.470 Henry Zhao: In the meantime, I want to ask Bask.
247 00:25:04.180 ⇒ 00:25:07.350 Henry Zhao: Just in case they can add it quickly, we can already have something running.
248 00:25:08.980 ⇒ 00:25:10.420 Zoran Selinger: Damn, that’s so annoying.
249 00:25:10.610 ⇒ 00:25:11.370 Henry Zhao: Right?
250 00:25:11.740 ⇒ 00:25:22.729 Zoran Selinger: Yes, so this is the integration with BigQuery, so this is them directly pushing data into the BigQuery project.
251 00:25:23.530 ⇒ 00:25:28.220 Zoran Selinger: Okay, cool. Do you think, if…
252 00:25:28.350 ⇒ 00:25:34.400 Zoran Selinger: This is not doable in short term. Do you think you’d be able to merge?
253 00:25:35.510 ⇒ 00:25:36.819 Zoran Selinger: No, because I had nothing to do.
254 00:25:37.990 ⇒ 00:25:44.259 Henry Zhao: I could, but then… it won’t be real time. What I could do is I could basically…
255 00:25:45.640 ⇒ 00:25:46.420 Zoran Selinger: Yeah, that’s…
256 00:25:46.420 ⇒ 00:26:00.060 Henry Zhao: Let’s see how often the order updated is, running into BigQuery, because I could basically do a very hacky way where I join order completed to order updated in BigQuery, ping that every hour, and send that over.
257 00:26:03.930 ⇒ 00:26:07.030 Zoran Selinger: So you would do that once an hour.
258 00:26:07.250 ⇒ 00:26:17.980 Zoran Selinger: And do you think… So basically, you’d be… so if now I… I do an order update.
259 00:26:18.990 ⇒ 00:26:22.720 Zoran Selinger: Do you think that happens within an hour of them signing up?
260 00:26:24.440 ⇒ 00:26:26.769 Henry Zhao: I don’t know, but it doesn’t need to be with an hour, right? So…
261 00:26:28.170 ⇒ 00:26:29.910 Henry Zhao: It’s every 2 hours, I guess, this…
262 00:26:30.360 ⇒ 00:26:35.590 Zoran Selinger: No, but I’m telling you, if you’re, if you’re doing something like that.
263 00:26:35.770 ⇒ 00:26:44.030 Zoran Selinger: Only once an hour, and people usually do update their order within an hour, then it won’t be available.
264 00:26:47.700 ⇒ 00:26:53.200 Henry Zhao: But I can’t retroactively look at the last 2 hours and say, whichever 2 hours had order updated.
265 00:26:54.730 ⇒ 00:26:56.289 Henry Zhao: Send it over to Catalyst?
266 00:26:58.030 ⇒ 00:26:59.859 Zoran Selinger: Okay, cool, okay.
267 00:27:01.150 ⇒ 00:27:04.810 Henry Zhao: I don’t like that solution, I still would rather them put a GTM container on the thank you page.
268 00:27:05.600 ⇒ 00:27:06.809 Henry Zhao: They haven’t told me why they can’t.
269 00:27:06.810 ⇒ 00:27:10.060 Zoran Selinger: Hey, our thank you page is not on Basque, right?
270 00:27:11.840 ⇒ 00:27:15.430 Henry Zhao: Oh, is that why? Because then we can add it, then why don’t we just add it?
271 00:27:15.430 ⇒ 00:27:17.780 Zoran Selinger: No, no, no, I’m asking you.
272 00:27:17.840 ⇒ 00:27:36.099 Zoran Selinger: So listen, Basque won’t have, they don’t want to add anything there, because probably they… they need to change the template, and that… then that’s… you’re changing their product that goes out to all… all customers, or all their customers.
273 00:27:36.270 ⇒ 00:27:39.500 Henry Zhao: But why wouldn’t they have had the GTM container on their thank you page to begin with?
274 00:27:39.720 ⇒ 00:27:51.209 Zoran Selinger: That is quite normal, I’d say. Even for Shopify, for example. You have limited options in, like, in order, checkout, and all that. But,
275 00:27:51.730 ⇒ 00:27:59.770 Zoran Selinger: The thank you page itself, I’m not sure if it redirects to outside of the app.
276 00:28:00.410 ⇒ 00:28:03.949 Zoran Selinger: try it in subdomain, outside of…
277 00:28:04.420 ⇒ 00:28:20.050 Zoran Selinger: If it does, then it’s in our control. We should be able to have the GTM there. If we don’t, if we are able to and we don’t, then it’s 100% the compliance. Like they said, they are very careful.
278 00:28:20.050 ⇒ 00:28:30.749 Zoran Selinger: About, you know, us not knowing the exact moment they became a paying customer, because it’s not compliant, right?
279 00:28:32.810 ⇒ 00:28:35.480 Zoran Selinger: So maybe, maybe that’s why they avoid it.
280 00:28:39.690 ⇒ 00:28:45.710 Zoran Selinger: Because, basically, if we do have a GTM there, we might be able to, you know, deduce that.
281 00:28:46.910 ⇒ 00:28:52.600 Zoran Selinger: Maybe they want to avoid that, if that’s… if that’s the problem. But we should… we can ask.
282 00:28:54.110 ⇒ 00:28:54.740 Henry Zhao: Okay.
283 00:28:55.200 ⇒ 00:28:57.419 Henry Zhao: Yeah, I’m asking… I’m asking Ryan.
284 00:28:57.420 ⇒ 00:28:58.200 Zoran Selinger: Yeah.
285 00:28:58.670 ⇒ 00:29:03.100 Zoran Selinger: In any case, we now have the function there. Yeah.
286 00:29:03.470 ⇒ 00:29:07.739 Zoran Selinger: We just, yeah, need, need the correct, correct transaction ID.
287 00:29:09.970 ⇒ 00:29:13.570 Henry Zhao: I will give them an update so they think we’re working… they know we’re working on this.
288 00:29:13.570 ⇒ 00:29:14.110 Zoran Selinger: Okay.
289 00:29:14.480 ⇒ 00:29:17.160 Henry Zhao: Alright, thanks, Aran, you’ve been really helpful, so I really appreciate it.
290 00:29:17.160 ⇒ 00:29:18.800 Zoran Selinger: upon, not on.
291 00:29:18.990 ⇒ 00:29:19.790 Henry Zhao: Thank you.
292 00:29:19.950 ⇒ 00:29:20.540 Zoran Selinger: Bye.