Skip to main content

Community

StackAdapt GraphQL Geographic State Request

Answered

Please sign in to leave a comment.

Comments

2 comments

  • Official comment

    Hi Dawson,

    Thank you for the clear write-up and for the context on your migration from the legacy StackAdapt connector. We have added this request to our backlog and are currently reviewing the technical feasibility of exposing state-level delivery data through the GraphQL connector. Would a daily series by US state, with spend and impressions per campaign, cover your reporting needs, or do you also need other regions? We will keep you updated on this thread as we make progress.

    Best,
    Syead Mujtaba Imam Rizwi

    Hello Syead,

    I work with Dawson and wanted to clarify our ask here. I already documented this in our internal ticket (https://support.fivetran.com/hc/en-us/requests/421021) and our Customer Support Engineer on that ticket mentioned the context would be forwarded here, but it sounds like something may have been lost in translation. I will copy the relevant parts of that message below:

    We have explored in the StackAdapt API, and believe there is a simpler solution for our needs.

    To clarify, we don't need state-level delivery metrics at this time. Our use case is simpler: we need each campaign's geo targeting configuration, which is already available on the Campaign type via geo.locations. We've confirmed this works with a straightforward query:

    {
      campaigns(first: 5) {
        nodes {
          id
          name
          geo {
            locations {
              nodes {
                name
                regionCode
                countryCode
                administrativeLevel
              }
            }
          }
        }
      }
    }
    

    Which returns exactly what we need — e.g.:

    {
      "id": "[campaign_id]",
      "name": "[name]",
      "geo": {
        "locations": {
          "nodes": [
            { "name": "Pennsylvania", "regionCode": "PA", "countryCode": "US", "administrativeLevel": "REGION" },
            { "name": "New York", "regionCode": "NY", "countryCode": "US", "administrativeLevel": "REGION" }
          ]
        }
      }
    }
    

    Based on the ERD, it looks like the connector does not currently sync this nested geo.locations object as part of the campaign table, but I imagine it could easily be added. The connector is already syncing the Campaign object with most of its scalar fields (e.g. name, channel_type, timezone, state, status, etc.). The geo field lives on the same Campaign object, so solving this for us may amount to adding one more nested field on the query the connector already appears to be running.

    In GraphQL terms, the request would go from something like:

    {
      campaigns {
        nodes {
          id
          name
          channelType
          # ... current fields from the ERD
        }
      }
    }
    

    to:

    {
      campaigns {
        nodes {
          id
          name
          channelType             
    # ... current fields from the ERD       geo { locations { nodes { regionCode name } } } } } }

    Even adding the geo field on its own would be a significant help (we can parse the JSON ourselves).
    Can you please advise whether this smaller scope (and to be clear, a regression from the previous version of this connector) is something that Fivetran would be able to resolve for us more quickly?

    Please let me know if anything is unclear or appears to be inaccurate; I would be happy to connect further if I can be of any help!