
Sample/POC to use google tag manager (GTM) API access in java
- or -
Post a project like this$100
- Posted:
- Proposals: 5
- Remote
- #3566670
- Expired
Description
Experience Level: Entry
this is NOT a JAVASCRIPT project!
Your task is to implement a (JUnit) callable service method/function, which calls the google tag manager api in java/jdk 17.
Ideal job to get familiar with google APIs (you can get help here from our team)
Your task is to implement service classes to be able to access these GTM API. The JUnit tests itself access your implemented services methods. These service methods wrap all required code to access GTM.
if you are new to the topic
read this:
https://developers.google.com/tag-platform/tag-manager/api/v2/devguide
try here:
https://developers.google.com/tag-platform/tag-manager/api/v2/reference/accounts/containers/workspaces/tags
check code here:
https://github.com/googleapis/google-api-java-client-services/tree/main/clients/google-api-services-tagmanager/v2/1.31.0
check libs here:
https://developers.google.com/tag-platform/tag-manager/api/v2/libraries
Your task in Milestone 1 (your requested bid):
READ
- implement fetchExistingTags() to access all existing tags in the GTM account
- implement fetchExsitingTriggers() to access all existing triggers in the GTM account
- implement fetchExistingVariables() to access all existing variables in the GTM account
- implement fetchExsitingFolders() to access all existing folders in the GTM account
- implement fetchExsitingTemplates() to access all existing templates in the GTM account
UPDATE
- for all above options to be able to update them, like:
- implement updateTag(theTagReference) to be able to modify existing tag
- implement updateTrigger(theTriggerReference) to be able to modify existing trigger
- and for Variables, Folders, Templates
CREATE
- for all above options
- implement createTag(theModellClassInstance) to be able to create existing tag
- implement createTrigger(theTriggerReference) to be able to create existing trigger
- and for Variables, Folders, Templates
Milestone 2 will be a more combination of all:
- implement a tag to track button clicks of all buttons
- implement a tag to track form submit button (subset of before)
- implement a tag to track link clicks on phone URLs
- implement a tag to track youtube video progress percentage
You need to implement for:
- linux & windows
Coding requirements:
only call from JUnit (no UI)
eclipse runtime
What is NOT needed:
- a UI (not required, implement a JUnit test to call your functions)
- a service architecture (like spring or JEE)
- any persistence
What are our requirements?
- map the api response information into model classes via JAXB
- ensure unit tests are calling all public service functions to have a runner
- a good entry point could be github, so recommend you to google for open projects on github with tagmanager implementations
- your code passes checkstyle, pmd and spotbugs (we will share you a git repo with eclipse settings)
- JDK17
- maven
- create a model class representing the input of your functions in your service class
- create a service class implementing the logic
- create a unit test, which tests the service class
- we do NOT need a UI, we only need the model + service method to access the logic via API or via JUnit
- if you need libs beside of selenium or jgrapht, apache commons are fine. Other libs NEED prior clearance
- the runtime is JRE (no JavaEE nor Spring-container)
- delivery in our git
Outlook
- if you do a good job on supporting our team, we are open to integrate you into regular work and we will share you more tasks about google apis
What is our budget?
we do not disclose our budget nor planned hourly rate. Offer us your best bid.
This job is created with a placeholder budget/rate. So ignore our rates/budgets and post your best bid.
Your bid?
Your placed bid is based on the fact, that you have read the job description and it is the upper bound on your bid.
Communication:
Do not wait for our availability here. Just answer, just ask or just reply.
Your task is to implement a (JUnit) callable service method/function, which calls the google tag manager api in java/jdk 17.
Ideal job to get familiar with google APIs (you can get help here from our team)
Your task is to implement service classes to be able to access these GTM API. The JUnit tests itself access your implemented services methods. These service methods wrap all required code to access GTM.
if you are new to the topic
read this:
https://developers.google.com/tag-platform/tag-manager/api/v2/devguide
try here:
https://developers.google.com/tag-platform/tag-manager/api/v2/reference/accounts/containers/workspaces/tags
check code here:
https://github.com/googleapis/google-api-java-client-services/tree/main/clients/google-api-services-tagmanager/v2/1.31.0
check libs here:
https://developers.google.com/tag-platform/tag-manager/api/v2/libraries
Your task in Milestone 1 (your requested bid):
READ
- implement fetchExistingTags() to access all existing tags in the GTM account
- implement fetchExsitingTriggers() to access all existing triggers in the GTM account
- implement fetchExistingVariables() to access all existing variables in the GTM account
- implement fetchExsitingFolders() to access all existing folders in the GTM account
- implement fetchExsitingTemplates() to access all existing templates in the GTM account
UPDATE
- for all above options to be able to update them, like:
- implement updateTag(theTagReference) to be able to modify existing tag
- implement updateTrigger(theTriggerReference) to be able to modify existing trigger
- and for Variables, Folders, Templates
CREATE
- for all above options
- implement createTag(theModellClassInstance) to be able to create existing tag
- implement createTrigger(theTriggerReference) to be able to create existing trigger
- and for Variables, Folders, Templates
Milestone 2 will be a more combination of all:
- implement a tag to track button clicks of all buttons
- implement a tag to track form submit button (subset of before)
- implement a tag to track link clicks on phone URLs
- implement a tag to track youtube video progress percentage
You need to implement for:
- linux & windows
Coding requirements:
only call from JUnit (no UI)
eclipse runtime
What is NOT needed:
- a UI (not required, implement a JUnit test to call your functions)
- a service architecture (like spring or JEE)
- any persistence
What are our requirements?
- map the api response information into model classes via JAXB
- ensure unit tests are calling all public service functions to have a runner
- a good entry point could be github, so recommend you to google for open projects on github with tagmanager implementations
- your code passes checkstyle, pmd and spotbugs (we will share you a git repo with eclipse settings)
- JDK17
- maven
- create a model class representing the input of your functions in your service class
- create a service class implementing the logic
- create a unit test, which tests the service class
- we do NOT need a UI, we only need the model + service method to access the logic via API or via JUnit
- if you need libs beside of selenium or jgrapht, apache commons are fine. Other libs NEED prior clearance
- the runtime is JRE (no JavaEE nor Spring-container)
- delivery in our git
Outlook
- if you do a good job on supporting our team, we are open to integrate you into regular work and we will share you more tasks about google apis
What is our budget?
we do not disclose our budget nor planned hourly rate. Offer us your best bid.
This job is created with a placeholder budget/rate. So ignore our rates/budgets and post your best bid.
Your bid?
Your placed bid is based on the fact, that you have read the job description and it is the upper bound on your bid.
Communication:
Do not wait for our availability here. Just answer, just ask or just reply.

Darko P.
0% (0)Projects Completed
-
Freelancers worked with
-
Projects awarded
0%
Last project
15 Oct 2025
Germany
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies