Skip to main content

sem-emergency-stop

Logo

Stop all Google Ads marketing. This utility will pause all marketing campaigns on Google Ads (presumably across many accounts) as fast as possible. The main use case is emergency response during incidents where all landing pages are temporarily unavailable, thereby incurring cost without revenue. Unpausing the paused campaigns (and only those) is also supported.

Usage

In case of emergency, do this:

sem-emergency-stop pause --no-dry-run

A hash will be printed at the end of the process. Use this hash to unpause when the incident is over (the exact instructions are displayed when you run.)

One-time setup (for end users)

Install the tool (requires Python 3.7 or higher; on Ubuntu 18.04 install python3.7-minimal):

pip3 install --user sem-emergency-stop

You can then run sem-emergency-stop setup to authenticate the tool against the API using your Google account. This will request two pieces of information from you:

  1. An organization token. How you get this token depends on your organization's process. See the next section if you are the person to set this up for your organization.
  2. A token specific to your Google account. Follow instructions on screen. Note that you need to have access to your Ads accounts with your Google account.

Deployment at organizations

Authentication uses Google's OAuth2 flow. This app does not come with client secrets, so you will have to generate these and distribute them in your organization through a suitable channel (e.g. using password manager). The client id/secret together with your login customer id and your developer token are packaged in a compact organization token for distribution purposes.

After installing the app, you can generate a token by running ses-create-org-token. It will ask the following information:

  • Login customer id - this is the customer id (without dashes) of your root Google Ads account.
  • Developer token - find it in your root account under "API Center".
  • Client id/secret - follow this guide how to obtain a pair.

Development and contributing

For development pipenv is required on your system. Set up the development environment with make develop, run with pipenv run sem-emergency-stop ... as needed.

We welcome pull requests; if you are planning to perform bigger changes then it makes sense to file an issue first. Make sure make lint comes back clean.

Security

For sensitive security matters please contact security@getyourguide.com.

Legal

Copyright 2021 GetYourGuide GmbH.

sem-emergency-stop is licensed under the Apache License, Version 2.0. See LICENSE for the full text.

Metadata

Release files for sem-emergency-stop 1.3.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sem-emergency-stop 1.3.12
File Size Uploaded Provenance Actions
sem_emergency_stop-1.3.12.tar.gz 13.9 kB Without provenance Details for sem_emergency_stop-1.3.12.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sem-emergency-stop 1.3.12
File Interpreter ABI Platform Actions
sem_emergency_stop-1.3.12-py3-none-any.whl Python 3 none any Details for sem_emergency_stop-1.3.12-py3-none-any.whl

Total release size: 28.3 kB

Release files / sem_emergency_stop-1.3.12.tar.gz

Download URL sem_emergency_stop-1.3.12.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8716e10e3463313b25d3a64dd0487e5b44db347e10a5ffe9657fba8d420d605d
BLAKE2b-256 checksum
How to use checksums
c6497cc5d62f6b6be3200a08aaf148529da1890b59ea55623818f6af02201dc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release files / sem_emergency_stop-1.3.12-py3-none-any.whl

Download URL sem_emergency_stop-1.3.12-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0fcaaaa507755cb1beb245b27b57d796270515ef7d888f42bfd3ccdf27bc62c4
BLAKE2b-256 checksum
How to use checksums
c6794243401bf39372d3be4c30c9a48c859fc5d73a6f758691ab360c00295cac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Security for sem-emergency-stop 1.3.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page