This appendix is a reference list of the option keys that the ADP Car Market Hub plugin reads and writes.
When to use this document
Use this reference when you need to look up the option key behind an admin field, when you want to read a value programmatically with get_option(), or when you are auditing a deployment. For the configuration UI, see Settings Reference (Admin). For the conceptual storage model, see Option Keys And Settings Storage.
Overview
All plugin options are stored in wp_options with the prefix as24ci_. Boolean toggles are stored as the strings '1' (enabled) and '0' (disabled) unless noted otherwise. The canonical keys are defined as constants in includes/class-as24ci-options.php (AS24CI\Options); always prefer the constants from PHP.
The plugin does not register options through the WordPress Settings API. Each admin tab saves its own options through dedicated handlers protected by capability and nonce checks.
API and authentication
| Option key | Purpose |
|---|
as24ci_base_url | Base URL of the data API (typically an AutoScout24 endpoint or a customer-supplied proxy). |
as24ci_token_url | OAuth token endpoint. |
as24ci_token_audience | JWT audience value. Derived automatically from the configured base URL when not set explicitly. |
as24ci_client_id | OAuth client ID. |
as24ci_client_secret | OAuth client secret. Sensitive. Stored unencrypted; treat as a credential. |
as24ci_seller_ids | One or more seller IDs (array or comma-separated string in the input). |
as24ci_default_currency | Default ISO 4217 currency code used when no per-vehicle currency is supplied. |
Import behaviour
| Option key | Purpose |
|---|
as24ci_default_post_status | Initial post status for newly imported vehicles. |
as24ci_default_post_author | User ID used as author for newly imported vehicles. |
as24ci_import_images | Enable image import. |
as24ci_max_images | Maximum number of images per vehicle (0 = unlimited). |
as24ci_convert_to_webp | Convert imported images to WebP (requires GD or Imagick). |
as24ci_webp_quality | WebP quality (1–100, default 80). |
as24ci_full_sync | Delete local vehicles missing from the remote feed at the end of each run. Opt-in. |
as24ci_verbose_logging | Log additional per-field and per-image detail during imports. |
Scheduler and automation
| Option key | Purpose |
|---|
as24ci_auto_import_enabled | Master toggle for the WP-Cron import event. |
as24ci_cron_schedule | Schedule key: hourly, as24ci_every_6_hours, twicedaily, daily, as24ci_custom. |
as24ci_cron_start_time | Start time in HH:MM (24h, WordPress site timezone) for daily and twicedaily. |
as24ci_cron_custom_minutes | Interval in minutes for as24ci_custom. Clamped to a minimum of 15. |
as24ci_cron_mode | wp-cron or server-cron. Drives admin UI hints. |
as24ci_cron_token | Token for the cron-import REST endpoint. Sensitive. Empty value disables the endpoint. |
as24ci_cron_max_vehicles | Maximum vehicles processed per cron / REST run (0 = unlimited). |
as24ci_cron_image_queue | Use the image queue during cron / REST runs. |
as24ci_last_run_time | Unix timestamp of the last completed run. |
as24ci_last_run_status | Counts array from the last run. |
as24ci_last_run_manual | 1 if the last run was triggered manually. |
as24ci_last_external_cron_run | Unix timestamp of the last ?as24ci_cron=1 ping. |
REST API
| Option key | Purpose |
|---|
as24ci_rest_api_enabled | When '1', registers the public /vehicles and /vehicles/{id} routes. Default '0'. |
Default pages and uninstall
| Option key | Purpose |
|---|
as24ci_create_default_pages | When checked at save time, the plugin creates the Cars, Compare and Favorites pages if they are missing. Existing pages are not overwritten. |
as24ci_page_archive_id | Page ID of the activation-created Cars page. |
as24ci_page_compare_id | Page ID of the activation-created Compare page. |
as24ci_page_favorites_id | Page ID of the activation-created Favorites page. |
as24ci_delete_data_on_uninstall | When '1', uninstall removes vehicles, leads, imported attachments and the activation-created pages. |
| Option key | Purpose |
|---|
as24ci_lead_recipient_email | Override recipient email for lead notifications. |
as24ci_lead_field_name, as24ci_lead_field_email, as24ci_lead_field_phone, as24ci_lead_field_message | Per-field visibility toggles for the contact form. |
as24ci_lead_consent_enabled, as24ci_lead_consent_text, as24ci_lead_privacy_url | Consent checkbox configuration. |
as24ci_lead_msg_success, as24ci_lead_msg_error | Frontend status messages. |
as24ci_lead_email_subject_dealer, as24ci_lead_email_subject_customer, as24ci_lead_email_template_dealer, as24ci_lead_email_template_customer | Notification email templates. |
Webhooks
| Option key | Purpose |
|---|
as24ci_webhook_url_new_lead | Target URL for the new_lead event. Empty disables the event. |
as24ci_webhook_url_new_import | Target URL for the new_import event. Empty disables the event. |
as24ci_webhook_secret | HMAC-SHA256 signing secret. Sensitive. Empty disables signing. |
AI Assistant (optional)
AI features use the managed Google Gemini configuration in ADP Car Market Hub. No provider, model or API key option exists in wp_options. The managed Gemini key and model are PHP constants on AS24CI\Ai_Config (MANAGED_GEMINI_API_KEY, MANAGED_GEMINI_MODEL) provisioned by AD Promotion after installation.
| Option key | Purpose |
|---|
as24ci_ai_assistant_enabled | Master toggle. |
as24ci_ai_assistant_language, as24ci_ai_assistant_tone, as24ci_ai_assistant_max_length | Generation parameters. |
as24ci_ai_assistant_auto_generate | Generate descriptions automatically on import. |
as24ci_ai_assistant_custom_prompt | Optional custom prompt template. |
as24ci_ai_gen_alt_text, as24ci_ai_gen_seo, as24ci_ai_extract_highlights | Auxiliary auto-generation toggles. |
Test Drive booking (optional)
| Option key | Purpose |
|---|
as24ci_test_drive_enabled | Master toggle. |
as24ci_test_drive_available_days | Comma-separated weekday numbers (0 = Sunday). |
as24ci_test_drive_start_time, as24ci_test_drive_end_time | Daily time window in HH:MM. |
as24ci_test_drive_slot_duration | Slot duration in minutes. |
as24ci_test_drive_blackout_dates | Serialised list of blackout dates. |
Search Alerts and feature toggles
| Option key | Purpose |
|---|
as24ci_feature_search_agent | Enable Search Alerts (Smart Stock Alerts). |
as24ci_feature_compare | Compare buttons and compare page. |
as24ci_feature_favorites | Favorites/wishlist. |
as24ci_feature_schema | Schema.org and Open Graph metadata on single pages. |
as24ci_feature_social_share | Social sharing buttons. |
as24ci_social_share_placement | Placement of the social sharing buttons on the single page. |
as24ci_social_share_networks | Active social networks for the sharing buttons. |
as24ci_feature_sitemap | Sitemap integration. |
as24ci_feature_dashboard_widget | Admin dashboard widget. |
as24ci_feature_lazy_loading | Image lazy loading. |
as24ci_feature_bulk_actions | Bulk actions on the vehicle list. |
as24ci_feature_export | CSV/JSON export from Tools. |
as24ci_feature_pdf_datasheet | PDF datasheet download (master toggle for the frontend "Download PDF" button). |
as24ci_pdf_manager_settings | Array of branding, layout, QR and content settings for the PDF datasheet output. Independent of as24ci_feature_pdf_datasheet. |
Analytics
| Option key | Purpose |
|---|
as24ci_analytics_enabled | Master switch for analytics tracking. |
as24ci_analytics_bi_enabled | BI extended events (filter searches, contact opens, lead submissions). |
as24ci_analytics_require_consent | Block tracking until visitor consent is granted. |
as24ci_analytics_filter_minimization | Strip free-text search input before storing events. |
as24ci_analytics_retention_days | Retention window for the analytics table (default 180). |
as24ci_analytics_privacy_jurisdiction | Privacy law label (auto, gdpr, dsgvo, revdsg, uk_gdpr, generic). |
Compare and financing
| Option key | Purpose |
|---|
as24ci_compare_max_vehicles | Maximum vehicles compared at once. Clamped between 2 and 8. |
as24ci_financing_enabled | Enable the Financing Calculator. |
as24ci_financing_default_rate | Default annual interest rate (%). Allowed range 0–50. |
as24ci_financing_default_months | Default loan term in months (12, 24, 36, 48, 60, 72, 84). |
as24ci_financing_down_payment | Default down payment (%). Allowed range 0–100. |
as24ci_financing_placement | below_gallery, sidebar or end_of_page. |
Design and layout
The plugin exposes a large number of design options under the as24ci_design_*, as24ci_single_*, as24ci_archive_*, as24ci_fav_*, as24ci_comp_* and as24ci_badge_* prefixes. They control colours, typography, spacing, badge appearance and custom CSS. Refer to the constants in AS24CI\Options for the exhaustive list.
Page-level layout uses dedicated keys:
| Option key | Purpose |
|---|
as24ci_layout_manager_enabled | Master toggle for the Layout Manager. |
as24ci_lm_zone_*, as24ci_lm_block_* | Per-zone and per-block configuration. |
as24ci_layout_archive_columns | Number of columns on the archive grid (1–4, default 3). |
as24ci_archive_default_sort | Default archive sort order (date_desc, price_asc, price_desc, mileage_asc). |
as24ci_archive_per_page | Vehicles displayed per page on the archive (default 24). |
as24ci_archive_list_excerpt_length | Maximum excerpt characters in List view (0–500, default 75; 0 hides the excerpt). |
as24ci_layout_search_filters | Active filter blocks in the search-filters zone. |
as24ci_layout_single_main, as24ci_layout_single_sidebar, as24ci_layout_single_bottom | Single-vehicle page composition. |
Filters and field visibility
| Option key | Purpose |
|---|
as24ci_filters_enabled | Array of enabled filter keys for the public archive (null means all enabled). |
as24ci_field_visibility | Per-view visibility map for car_details, sidebar, compare and favorites. |
as24ci_mapping_overrides | Per-field label and visibility overrides for imported AS24 fields (serialised labels / visible maps). |
Hub API and locations
| Option key | Purpose |
|---|
as24ci_hub_api_key | API key for the Hub / Market Insights integration. Sensitive. |
as24ci_hub_target_market | Target market code used by the Hub integration. |
as24ci_locations | Serialised list of dealership locations (name, address, seller IDs, hours). Autoload off. |
CMH Team
| Option key | Purpose |
|---|
as24ci_team_members | Serialised list of plugin-managed dealership team members (sales contacts). Autoload off. |
as24ci_team_location_defaults | Map of AutoScout24 seller ID → default team member ID (location-level default contact). Autoload off. |
as24ci_team_standards | Global fallback / general dealership contact settings (global default member ID and general contact data). Autoload off. |
as24ci_team_rules | Automatic assignment behaviour flags for CMH Team. Autoload off. |
Data quality monitoring
| Option key | Purpose |
|---|
as24ci_dq_scan_enabled | Master toggle. |
as24ci_dq_scan_frequency | daily or twicedaily. |
as24ci_dq_scan_time | First-run time in HH:00 (WordPress site timezone). |
as24ci_last_term_hash, as24ci_taxonomy_anomalies | Internal scan state. |
Dealer profile
Collected by the Setup Wizard and reused by the PDF datasheet, contact boxes, structured data and locations. Stored as plain top-level options.
| Option key | Purpose |
|---|
as24ci_dealer_name | Dealership name. |
as24ci_dealer_street | Street address. |
as24ci_dealer_postal_code | Postal/ZIP code. |
as24ci_dealer_city | City. |
as24ci_dealer_country | Country. |
as24ci_dealer_phone | Phone number. |
as24ci_dealer_email | Contact email. |
as24ci_dealer_website | Website URL. |
as24ci_dealer_logo_id | Attachment ID of the dealership logo. |
as24ci_dealer_language | Preferred frontend language (site_default or a locale such as de_DE). |
Setup Wizard
| Option key | Purpose |
|---|
as24ci_setup_wizard_completed | 1 once the setup wizard has been completed. |
as24ci_setup_wizard_skipped | 1 if the setup wizard was skipped. |
as24ci_setup_mode | Selected setup mode. |
as24ci_setup_completed_at | Timestamp when setup was completed. |
as24ci_setup_completed_by | User ID that completed setup. |
as24ci_setup_first_activation_at | Timestamp of the first plugin activation. |
ENVKV (German energy labelling)
| Option key | Purpose |
|---|
as24ci_envkv_year | Reference year for the ENVKV cost calculation. |
as24ci_envkv_price_petrol, as24ci_envkv_price_diesel, as24ci_envkv_price_electric | Energy prices per fuel type. |
as24ci_envkv_co2_price_low, as24ci_envkv_co2_price_med, as24ci_envkv_co2_price_high | CO₂ price tiers. |
as24ci_envkv_show_costs_100km | Show estimated costs per 100 km. |
Content Studio (optional)
Content Studio is a bounded module with its own option keys (constants in includes/class-as24ci-content-studio-options.php, AS24CI\Content_Studio_Options).
| Option key | Purpose |
|---|
as24ci_content_studio_db_version | Schema version for the Content Studio custom tables. |
as24ci_content_studio_google_api_key | Customer-owned Google API key used by the Content Studio text client. Sensitive. |
as24ci_content_studio_default_language | Default output language for generated Copy Packages. |
as24ci_content_studio_default_tone | Default tone for generated Copy Packages. |
as24ci_content_studio_brand_voice | Optional dealer brand-voice style hint (max 800 chars). |
as24ci_content_studio_disclaimer_text | Optional mandatory disclaimer text for generated copy (max 500 chars). |
as24ci_content_studio_compliance_notes | Optional compliance notes for generated copy (max 1000 chars). |
License activation
The plugin activates and re-validates its license against the ADP Car Market Hub API Platform. Only the license key and the refresh-signal secret are secrets (stored encrypted at rest via AS24CI\Secrets); every other key holds non-secret license state used to gate operational write features.
| Option key | Purpose |
|---|
as24ci_license_key | Encrypted API Platform license key (Secrets envelope). Sensitive. |
as24ci_license_status | Operational license status (License_Manager::STATUS_*). |
as24ci_license_last_checked_at | Unix timestamp of the last successful API Platform answer (0 = never). |
as24ci_license_last_error | Last license error as a stable code only. |
as24ci_license_prefix | Safe, non-secret license key prefix returned by the API Platform. |
as24ci_license_plan | License plan label. |
as24ci_license_support_until | ISO timestamp until which support is included (informational). |
as24ci_license_expires_at | ISO timestamp at which the license expires (informational). |
as24ci_license_installation_uid | Installation UID issued by the API Platform on activation. |
as24ci_license_manifest | Non-secret manifest object returned by the API Platform. |
as24ci_license_feature_rights | Feature-rights map returned by the API Platform. |
as24ci_license_import_policy | Import-policy object returned by the API Platform. |
as24ci_license_normalized_domain | Normalized domain the license was last activated/validated for. |
as24ci_license_last_reported_version | Plugin version most recently confirmed reported to the API Platform. |
as24ci_license_refresh_signal_secret | Encrypted per-installation shared secret used to authenticate inbound license-refresh signals. Sensitive. |
The customer Google Gemini credential is delivered server-to-server by the API Platform and managed by AS24CI\Ai_Credential_Manager. The Gemini key is stored only in an encrypted envelope; all other rows hold safe metadata for the admin status card.
| Option key | Purpose |
|---|
as24ci_ai_credential_envelope | Encrypted Gemini credential envelope. Never autoloaded, never rendered. Sensitive. |
as24ci_ai_credential_provider | Raw provider value returned by the API Platform (e.g. google / gemini). |
as24ci_ai_credential_display_provider | Customer-facing provider label (always "Google Gemini"). |
as24ci_ai_credential_api_model | Model exactly as reported by the API Platform. |
as24ci_ai_credential_effective_model | Effective runtime Gemini model after validation/fallback. |
as24ci_ai_credential_fingerprint | Non-secret fingerprint of the delivered credential (rotation marker). |
as24ci_ai_credential_synced_at | Unix timestamp of the last successful credential sync. |
as24ci_ai_credential_checked_at | Unix timestamp of the last sync attempt. |
as24ci_ai_credential_status | Local AI availability status string. |
as24ci_ai_credential_last_error | Last non-sensitive sync error/decision reason code. |
as24ci_ai_usage_reporting_required | Whether the API Platform requires AI usage reporting. |
Updates and update visibility
Safe, non-secret bookkeeping for the private update flow. None of these rows are autoloaded, and none store a signed package URL, signature, secret or license key.
| Option key | Purpose |
|---|
as24ci_update_last_check_diag | Last private-update check diagnostic (non-secret metadata only). |
as24ci_update_visibility_last_refresh_at | Unix timestamp of the last visibility refresh attempt. |
as24ci_update_visibility_last_refresh_reason | Stable reason code for the last refresh decision. |
as24ci_update_visibility_last_refresh_result | Outcome of the last refresh attempt (refreshed or skipped). |
as24ci_update_visibility_last_skip_reason | Stable reason code for the last skipped refresh. |
as24ci_update_visibility_last_inconsistency_refresh_at | Timestamp of the last refresh triggered to repair an inconsistent transient state. |
as24ci_update_last_transient_snapshot | Small, safe snapshot of the update_plugins transient for this plugin. |
Schema and migration tracking
| Option key | Purpose |
|---|
as24ci_db_version | Overall plugin data version. |
as24ci_caps_version | Capability/role migration version. |
as24ci_vehicles_db_version, as24ci_search_agent_db_version, as24ci_analytics_db_version | Per-table schema versions. |
Do not edit these manually unless you intend to force a re-migration.
Operational notes
- Sensitive values. Treat
as24ci_client_secret, as24ci_cron_token, as24ci_webhook_secret, as24ci_hub_api_key and as24ci_content_studio_google_api_key as credentials. Do not commit them to source control or echo them in templates or logs. The encrypted-at-rest options as24ci_license_key, as24ci_license_refresh_signal_secret and as24ci_ai_credential_envelope are stored via AS24CI\Secrets. The managed Gemini key delivered at runtime is owned by AD Promotion in AS24CI\Ai_Config and is not stored as a plaintext WordPress option. - Boolean encoding. Most boolean toggles are stored as the strings
'1' and '0'. Compare with strings or cast through (string) before comparing. - Filtering at runtime. Standard WordPress filters (
option_<key>, pre_option_<key>, default_option_<key>) work for any option here. This is the recommended way to override values at deploy time without writing to the database. - Multisite. All keys above are per-site. Provision them on each site individually unless you have a network-wide automation in place.
- Defaults. Default values are applied in code. The exact defaults can change between releases; verify against the current source before publishing.