or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

conversion-sources-service.mddata-types.mdindex.mdresource-paths.md
tile.json

tessl/pypi-google-shopping-merchant-conversions

Google Shopping Merchant Conversions API client library for managing conversion sources and tracking.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/google-shopping-merchant-conversions@1.0.x

To install, run

npx @tessl/cli install tessl/pypi-google-shopping-merchant-conversions@1.0.0

index.mddocs/

Google Shopping Merchant Conversions

Google Shopping Merchant Conversions API client library for Python, providing programmatic access to manage conversion sources and track conversions within Google's shopping ecosystem. This library enables developers to integrate merchant account management, conversion tracking, and attribution settings into their e-commerce applications.

Package Information

  • Package Name: google-shopping-merchant-conversions
  • Language: Python
  • Installation: pip install google-shopping-merchant-conversions
  • Documentation: https://googleapis.dev/python/google-shopping-merchant-conversions/latest

Core Imports

# Main stable API (recommended)
from google.shopping import merchant_conversions_v1

# Alternative imports for specific components
from google.shopping.merchant_conversions_v1 import ConversionSourcesServiceClient
from google.shopping.merchant_conversions_v1 import ConversionSourcesServiceAsyncClient

# For beta features (identical to v1)
from google.shopping import merchant_conversions_v1beta

Basic Usage

from google.shopping import merchant_conversions_v1

# Create client with default credentials
client = merchant_conversions_v1.ConversionSourcesServiceClient()

# List conversion sources for a merchant account  
parent = "accounts/{account_id}"
request = merchant_conversions_v1.ListConversionSourcesRequest(parent=parent)
response = client.list_conversion_sources(request=request)

for conversion_source in response.conversion_sources:
    print(f"Name: {conversion_source.name}")
    print(f"State: {conversion_source.state}")

# Get a specific conversion source
name = "accounts/{account_id}/conversionSources/{conversion_source_id}"
request = merchant_conversions_v1.GetConversionSourceRequest(name=name)
conversion_source = client.get_conversion_source(request=request)
print(f"Retrieved: {conversion_source.name}")

Authentication

Requires Google Cloud authentication:

from google.oauth2 import service_account
from google.shopping import merchant_conversions_v1

# Using service account credentials
credentials = service_account.Credentials.from_service_account_file(
    "path/to/service-account-file.json")
client = merchant_conversions_v1.ConversionSourcesServiceClient(credentials=credentials)

# Using Application Default Credentials (ADC)
client = merchant_conversions_v1.ConversionSourcesServiceClient()

Architecture

The library follows Google's GAPIC (Generated API Client) pattern:

  • Service Clients: Main interfaces for API operations (sync and async versions)
  • Request/Response Messages: Structured data types for API communication
  • Transport Layer: Supports gRPC (default), gRPC AsyncIO, and REST protocols
  • Authentication: Integrated with Google Cloud Identity and Access Management
  • Error Handling: Standard Google API Core exceptions with retry logic

Capabilities

Conversion Sources Service

Core service client for managing conversion sources, supporting full CRUD operations with sync and async variants. Handles merchant account conversion tracking configuration.

class ConversionSourcesServiceClient:
    def create_conversion_source(self, request: CreateConversionSourceRequest) -> ConversionSource: ...
    def update_conversion_source(self, request: UpdateConversionSourceRequest) -> ConversionSource: ...
    def delete_conversion_source(self, request: DeleteConversionSourceRequest) -> None: ...
    def undelete_conversion_source(self, request: UndeleteConversionSourceRequest) -> ConversionSource: ...
    def get_conversion_source(self, request: GetConversionSourceRequest) -> ConversionSource: ...
    def list_conversion_sources(self, request: ListConversionSourcesRequest) -> ListConversionSourcesResponse: ...

class ConversionSourcesServiceAsyncClient:
    async def create_conversion_source(self, request: CreateConversionSourceRequest) -> ConversionSource: ...
    async def update_conversion_source(self, request: UpdateConversionSourceRequest) -> ConversionSource: ...
    async def delete_conversion_source(self, request: DeleteConversionSourceRequest) -> None: ...
    async def undelete_conversion_source(self, request: UndeleteConversionSourceRequest) -> ConversionSource: ...
    async def get_conversion_source(self, request: GetConversionSourceRequest) -> ConversionSource: ...
    async def list_conversion_sources(self, request: ListConversionSourcesRequest) -> ListConversionSourcesResponse: ...

Conversion Sources Service

Data Types and Messages

Core data structures for conversion sources, attribution settings, and API request/response messages. Includes enums for states, controllers, and attribution models.

class ConversionSource:
    name: str
    state: ConversionSource.State
    expire_time: timestamp_pb2.Timestamp
    controller: ConversionSource.Controller
    google_analytics_link: GoogleAnalyticsLink  # oneof
    merchant_center_destination: MerchantCenterDestination  # oneof

class AttributionSettings:
    attribution_lookback_window_days: int
    attribution_model: AttributionSettings.AttributionModel
    conversion_type: List[AttributionSettings.ConversionType]

class GoogleAnalyticsLink:
    property_id: int
    attribution_settings: AttributionSettings

class MerchantCenterDestination:
    destination: str
    attribution_settings: AttributionSettings

Data Types and Messages

Resource Path Helpers

Utility methods for constructing and parsing Google Cloud resource paths. Essential for proper resource identification across the Google Cloud ecosystem.

@classmethod
def conversion_source_path(cls, account: str, conversion_source: str) -> str: ...

@staticmethod
def parse_conversion_source_path(path: str) -> Dict[str, str]: ...

@classmethod  
def common_project_path(cls, project: str) -> str: ...

@staticmethod
def parse_common_project_path(path: str) -> Dict[str, str]: ...

Resource Path Helpers

Error Handling

from google.api_core import exceptions
from google.shopping import merchant_conversions_v1

client = merchant_conversions_v1.ConversionSourcesServiceClient()

try:
    request = merchant_conversions_v1.GetConversionSourceRequest(name="invalid")
    response = client.get_conversion_source(request=request)
except exceptions.NotFound:
    print("Conversion source not found")
except exceptions.PermissionDenied:
    print("Insufficient permissions")
except exceptions.GoogleAPICallError as e:
    print(f"API call failed: {e}")

Pagination

from google.shopping import merchant_conversions_v1

client = merchant_conversions_v1.ConversionSourcesServiceClient()
parent = "accounts/{account_id}"

# Manual pagination
request = merchant_conversions_v1.ListConversionSourcesRequest(
    parent=parent,
    page_size=10
)
response = client.list_conversion_sources(request=request)

# Auto-pagination
for conversion_source in client.list_conversion_sources(request=request):
    print(f"Processing: {conversion_source.name}")