Ingest Google Ads form data from custom webhook

:bullseye: What is your goal?

I am trying to bring in google ads form data into other modules in my scenario (like the phone and tools modules).

:thinking: What is the problem & what have you tried?

Custom Webhook has data nested inside an array and when I try to ingest it into other modules only the top level of data shows up. Here is a loom video i recorded to explain the situatoin:

:clipboard: Error messages or input/output bundles

i have tried to parse this data using a tools > set multiple variables module but it does not seem to work

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

Hi @Sam_Rao,

Welcome to the community. This is expected, as this is how Make previews the data from previous modules. With arrays, it can get complex and big very fast. That is why Make only previews the structure rather than the full payload.

In this case, the user_column_data[] array exists of 4 identical collections, only the value is different. In order to map the correct value in the next module, you must access it. You can do that either with the get() function or the map() function.

Here is an interesting video and article about it: Mapping arrays - Help Center

Otherwise, I’d advice you to follow this course on the Make Academy: Make Basics

In any case, you want to learn how to access data from previous data structure. It will make it so much easier to work with Make.

Cheers,
Henk

Thanks @Henk-Operative - I h have done the basics and intermediate courses and am following the directions step by step. Attached is my get function and i am still returning empty values. Not sure what is going on.

That is the right way to do it, look at this example: get() from collection - Make.com Automation Scenario

Can you share your scenario?

Welcome to the Make community!

Using Map + Get / First functions to get a value from an array

You can use the built-in functions map and get to access variables within an array.

To do this, you can use the built-in function map —
map(complex array; key; [key for filtering]; [csv-values for filtering])

and the built-in function get (or first) —
get(object or array; path)

so you get something that looks like these —

{{ get(map(1.array; "value"; "name"; "content-type"); 1) }}
{{ first(map(1.array; "value"; "name"; "content-type")) }}

Map function parameters: Step-by-step

To easily remember what each of the parameters of the map function are for, think of it this way:

  1. From this array (of collections),
  2. I want to get all the the values for the property/key named _______,
  3. Where another property/key named _______
  4. has the exact case-sensitive value _______

Example

1. From this array (of collections) user_column_data

2. I want to get all the the values for the property/key named string_value

3. Where another property/key column_id

4. has the exact case-sensitive value EMAIL

5. Output

e.g.:

{{ first(map(5.user_column_data; "string_value"; "column_id"; "EMAIL")) }}

:high_voltage: Make Input Markup: Copy-paste the above into the field, including start/end curly brackets for it to import as intended :warning:

Using Map + Join functions to get all values from an array as a concatenated text string

If there are more than one return value in the array, you can combine map and join functions to join the values into a single text string —
{{ join(map( ... ); delimiter) }}

For more information, the function’s documentation can be found in the Help Centre and the “Mapping with Arrays” link below. You should also complete the tutorials in the Make Academy, especially Using get() and map() functions.


Here are some useful links and guides you can use to learn more on how to use the Make platform, apps, and app modules. I found these useful when I was learning Make, and hope they might benefit you too —

Learn Make

How-Tos

— @samliew
P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!

Thanks Henk. Here you go! Integration Webhooks - Make.com Automation Scenario

@samliew Thanks for this, Tried your exact set up. replaced with …because i was getting an error of not found for “5” so i picked it out of the options available to me. and still getting an empty output. See below. Thanks for all your help! .Learning a lot here!

Thanks for sharing! What is the reason that you parse the bundle of the webhook? Especially if you map the array directly from the webhook afterwards?

Anyway, I updated this scenario, this should work: get() from collection - Make.com Automation Scenario

I’ve seen your latest screenshots above, but I cannot put my finder on why the raw_email remains empty…

@samliew - This is solved, i just had to run the whole scenario together, not one module at a time. We are good! Thansk for all your help!

@Henk-Operative This is solved, i just had to run the whole scenario together, not one module at a time. We are good! Thansk for all your help!

ahaaaaaaaa, yeah that makes sense. Great that you worked it out!

Feel free to mark any reply you like as solved:

I used “5” because of your earlier screenshot that you provided.

You cannot individually run a single module if you don’t have example input data values for each required field, which you must input into the dialog box when you manually run a single module. This is because when you only run a specific module, the mapped variables in the module’s fields are null (do not contain any value), as the previous modules do not run and produce any output values. Does this make sense?

Instead, try running the full scenario by clicking the “Run Once” button:

No problem, glad I could help with your question:
"Ingest Google Ads form data from custom webhook"   :tada:

1. Which was the most helpful post in this thread?

The Make Community guidelines encourages users to try to mark helpful replies as solutions to help keep this forum organised. :folded_hands:

This marks the topic as solved, so that others can:

  • save time when browsing the latest activity on the forum, and
  • quickly jump to the solution in this topic (from the top)

To do this, simply click the checkbox at the bottom of the post that is the most helpful in answering your question.

a screenshot of post menu options at the bottom of each post
:link: Here’s a magic link to a list of your other “unsolved” topics— status:unsolved

2. Have you learnt something new?

Do bookmark this topic so you can easily find and return to this topic in future.
a screenshot of bookmark link at the bottom of the topic

:link: Here’s a magic link to a list of your bookmarks— /my/activity/bookmarks

3. Have a different question? Start a new topic.

Do you have a question that is not about "Ingest Google Ads form data from custom webhook"? Please start a new topic.

Creating a separate topic for each question makes it easier for others with the same problem to search for answers. You are also more likely to receive help sooner as new topics are displayed first on the forum’s home and “new” page!

— @samliew